Я сделал специальный наконечник для отображения фотографии человека, имени и информации о компании в приложении.Этот кончик отображается в области заголовка листа действий.На данный момент мне удалось получить ширину области, но не высоту - так как я не могу найти, какой вид проверить размер.
В UIAlertController
я взял егоcontactAlertController.view.subviews[0]
чтобы получить ширину оповещения.Но высота - это полная высота, включая кнопки.
Есть ли способ достичь только размера представления заголовка?Потому что сейчас главная проблема заключается в том, что если у пользователя слишком длинное или слишком короткое имя, оно на самом деле не упаковано нормально, или оно оставляет слишком много места - так как я написал название как "\n\n\n\n\n\n"
Мой код
let contactAlertController = UIAlertController(title: "\n\n\n\n\n\n", message: nil, preferredStyle: UIAlertController.Style.actionSheet)
guard let customView = Bundle.main.loadNibNamed("userInfo", owner: self, options: nil)?.first as? QuickInfoView else { return }
customView.backgroundColor = .clear
customView.translatesAutoresizingMaskIntoConstraints = false
customView.staffName.text = "\(user.givenName) \(user.surname)"
customView.staffCompany.text = users[indexPath.row].companyName
customView.staffTitle.text = users[indexPath.row].jobTitle
customView.imageView.image = users[indexPath.row].userPhoto ?? UIImage(named: "nobody")!
let viewToPlaceNibIn = contactAlertController.view.subviews[0]
contactAlertController.view.addSubview(customView)
NSLayoutConstraint.activate([NSLayoutConstraint(item: customView, attribute: .left, relatedBy: .equal, toItem: viewToPlaceNibIn, attribute: .left, multiplier: 1, constant: 0),
NSLayoutConstraint(item: customView, attribute: .right, relatedBy: .equal, toItem: viewToPlaceNibIn, attribute: .right, multiplier: 1, constant: 0),
NSLayoutConstraint(item: customView, attribute: .top, relatedBy: .equal, toItem: viewToPlaceNibIn, attribute: .top, multiplier: 1, constant: 0)])
Изображение нужного мне размера области
![The view I need the size for is marked in red](https://i.stack.imgur.com/BeNtd.png)