我有一个我在代码中创建的tableview。以前,我分配了它的绝对坐标但是当我在故事板中切换到自动布局时 - 我不知道如何将它链接到它上面的元素。
基本上,tableView应该是容器视图的子视图,它应该是textField下面的大约12个点。谁能建议正确的方法来做到这一点?
这就是我目前创建和定位tableview的方式。
filename = ['file1.txt', 'file2.txt', 'file3.txt']
newfilename = ['newfile1.txt', 'newfile2.txt', 'newfile3.txt']
for l in filename :
dic = {}
with open(l, 'r') as fp:
for t in fp :
word = sorted(t.split(), key = str.lower)
for w in word :
if w not in dic:
dic[w] = 1
else :
dic[w] += 1
dicsort = sorted(dic.items(), key = operator.itemgetter(1), reverse = True)
for l2 in newfilename :
with open(l2, mode = 'w', encoding = 'utf-8') as fp:
for k, v in dicsort :
fp.write('\t'+ str(k) + '\t\t' + str(v)+'\n')
上面文本字段的故事板中的约束是:
_autocompleteTableView = [[UITableView alloc] initWithFrame:
CGRectMake(20, 200, 280, 300) style:UITableViewStylePlain];
[self.view addSubview:_autocompleteTableView];
感谢您的任何建议。
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这个
声明
bool once = YES;
然后
-(void)viewDidLayoutSubviews
{
if(once)
{
_autocompleteTableView = [[UITableView alloc] initWithFrame:
CGRectMake(20, 200, 280, 300) style:UITableViewStylePlain];
[self.view addSubview:_autocompleteTableView];
self.autocompleteTableView.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint* con1=[NSLayoutConstraint constraintWithItem: self.view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.autocompleteTableView attribute:NSLayoutAttributebottom multiplier:1 constant:20];
NSLayoutConstraint* con2=[NSLayoutConstraint constraintWithItem: self.view attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.autocompleteTableView attribute:NSLayoutAttributeLeading multiplier:1 constant:-20];
NSLayoutConstraint* con3=[NSLayoutConstraint constraintWithItem: self.view attribute:NSLayoutAttributeTraling relatedBy:NSLayoutRelationEqual toItem:self.autocompleteTableView attribute:NSLayoutAttributeTraling multiplier:1 constant:20];
NSLayoutConstraint* con4=[NSLayoutConstraint constraintWithItem: self.autocompleteTableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.textfield attribute:NSLayoutAttributeBottom multiplier:1 constant:12];
[self.view addConstraints:@[con1,con2,con3,con4]];
[self.view layoutIfNeeded];
once = NO;
}
}