草庐IT

nslayoutconstraints

全部标签

ios - NSLayoutConstraint 后 subview 中的 UIButton 未接收到触摸

我有2个自定义UIView,我将它们添加到我的UIViewController,然后使用NSLayoutConstraint对齐它们。在我对UIViewControllerView应用NSLayoutConstraint之后,自定义UIView中的UIButton不再接收触摸事件。-(void)viewDidLoad{[superviewDidLoad];navigationBar=[[DtNavigationBaralloc]initWithFrame:CGRectMake(0,0,320,45)];[navigationBarsetTranslatesAutoresizingMas

ios - 使用 NSLayoutConstraint 的 Superview 中 UIPageControl 的编程垂直对齐

到目前为止,我能够避免使用自动布局,因此对于这个(可能)愚蠢的问题深表歉意。我有一个以编程方式构建的ViewController(例如,没有IB)。我有一个UIPageControl对象,它位于viewControllerView的View层次结构中(例如,addSubview:)相反,我需要将UIPageControl对象与UIViewController主视图的底部边缘对齐。我希望UIPageControl水平居中,但距离底部边缘20-40像素。这是我创建UIPageControl并显示它的一些示例代码,但根本不在正确的位置。self.pageControl=[[UIPageCon

iphone - NSLayoutConstraints 代码使 View 居中并保持其纵横比

我希望我的subview是一个以其父View顶部为中心的16:9矩形。换句话说,我希望它:与其父View一样宽,但不超过400像素(UI可以旋转为横向),当它比父View窄时水平居中,将其顶部固定到其父View的顶部,并且更改其高度以保持16:9的纵横比。这段代码几乎做到了,除了我很难使水平约束起作用并且没有超过或低于约束...-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.UIView*contentView=[[UIViewalloc]init];contentView.

ios - 使用视觉格式语言更改 NSLayoutConstraints 方向的正确方法

我有单独的NSLayoutConstraints数组,这些数组使用我想用于纵向和横向方向的视觉格式字符串构建。我尝试了两种在两者之间切换的方法:激活/停用它们以及添加/删除它们。激活/停用:portaitConstraints.forEach{$0.active=false}landscapeConstraints.forEach{$0.active=true}添加/删除:self.view.removeConstraints(portraitConstraints)self.view.addConstraints(landscapeConstraints)这两种方法似乎都能正常工作并

ios - 使用 NSLayoutConstraint 更改约束

项目的Githubrepository.所以例如,我改变这个:letorangeViewCenterXConstraint=NSLayoutConstraint(item:orangeView,attribute:.centerX,relatedBy:.equal,toItem:view,attribute:.centerX,multiplier:1.0,constant:0.0)为此:orangeView.centerXAnchor.constraint(equalTo:view.centerXAnchor)正确的方法是如何做同样的事情:letpurpleViewBottomSpac

ios - Swift 中 NSLayoutConstraints 的奇怪行为

我的View顶部有一个textField,还有一个应该放在textField下方的tableView。所以我添加它们的代码如下所示:privatefuncsetupSearchBar(){searchtextField=UITextField()mapView.addSubview(searchtextField)searchtextField.translatesAutoresizingMaskIntoConstraints=falseletconstraints=[NSLayoutConstraint(item:searchtextField,attribute:.leading,

ios - 更新 nslayoutconstraints 以适应新的 View 大小?

我有一个UIView,一旦UITextView中的文本达到某个点,它的大小就会增加。两个View都在调整大小,但是我无法让View向上移动以适应我在UIView上设置的bottomconstraint。这是问题的屏幕截图。我已经尝试同时使用view.setNeedsLayout()和view.layoutIfNeeded()但我假设我可能实现错误...这是项目的代码importUIKitclassViewController:UICollectionViewController,UICollectionViewDelegateFlowLayout,UITextViewDelegate{

ios - NSLayoutConstraint问题

//MARK:NSLayoutConstraints//trailinglettrailingConstaint=NSLayoutConstraint(item:imageView,attribute:.trailing,relatedBy:.equal,toItem:imageView.superview,attribute:.trailing,multiplier:1,constant:0)trailingConstaint.isActive=true//leadingletleadingConstraint=NSLayoutConstraint(item:imageView,at

ios - Swift iOS - 如何设置 UIView 的高度 anchor <= 到标签的固有文本大小? 'NSLayoutConstraint' 不可转换为 'Bool'

我有一个程序View,其中有一个标签,我将其固定到导航栏的底部。标签内将有动态文本,如果文本高度使其变小,我希望标签所在的View至少为64磅或更大。此标签文本的固有大小将View设置在一个明显的高度。setViewAndLabel(dynamicText:"UnknownError\nPleasetryyourrequestagain\Error:123")然而,此文本的固有大小使高度变小了:setViewAndLabel(dynamicText:"MessageDeleted!")MessageDeleted!应该更符合以下内容:我使用了一些返回键来设置它,但我认为这不是正确的方法

ios - NSLayoutConstraint 并分配一个 int 变量

我觉得这可能是一个非常简单的问题,因为我刚刚开始使用Swift,但对这种行为有点困惑。我有一个如下所示的NSLayoutConstraint:letverticalConstraint=NSLayoutConstraint(item:newView,attribute:NSLayoutAttribute.CenterY,relatedBy:NSLayoutRelation.Equal,toItem:view,attribute:NSLayoutAttribute.CenterY,multiplier:1,constant:0)并且工作正常。当我将其更改为classViewControl