请教个autolayout中的NSDictionaryOfVariableBindings宏问题

 我来答
笑喘是病得抽
2017-07-18 · TA获得超过925个赞
知道大有可为答主
回答量:2140
采纳率:98%
帮助的人:2216万
展开全部
NSDictionary *dictViews = NSDictionaryOfVariableBindings(self.txt1); 使用这个 输出的字典格式应该是:@{@“self.txt1”:“self.txt1”};
而你用NSDictionary *dictViews = @{ @"txt1":self.txt1 };之所以不会错误,原因在于你使用的VFL格式中的txt1.
NSArray *consArray1 = [NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-10-[txt1]-10-|" options:0 metrics:nil
views:dictViews];
NSArray *consArray2 = [NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-50-[txt1]" options:0 metrics:nil
views:dictViews];
这个txt1,能够在dictViews字典中找到key.(txt1)。二不能找到key(self.txt1)。因为VFL中
是通过key来寻找对应的value。例如,假设你有一个self.label。你如果像这样实例化字典:NSDictionary
*dicViews = @{@"txt1":self.label};它会布局self.label而不是self.txt1。记住 VFL
你看到的变量是key.而不是value。简单理解。就是看你key对应的value是什么。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式