gpt4 book ai didi

ios - UITableView 看起来比设置的大

转载 作者:行者123 更新时间:2023-11-29 12:40:00 26 4
gpt4 key购买 nike

我在 Storyboard中构建了一个简单的 UIViewController,顶部有一个导航栏,底部有一个 UITableView 和一个 UITextView。

当我启动应用程序时,会触发一个动画,并且 TableView 的高度将减少大约与底部 TextView 的高度增加相同的值。当我观看显示更改的 NSLogs 时,这非常有效。但是,如果我同时查看我的 GUI,TextView 会增加,但 TableView 不会以任何方式发生变化。此外,如果我想向下滚动以查看我的所有 TableViewCell,我会注意到没有任何变化,因为在我松开手指后 TableView 会向后滚动。

这是我的代码:(“框架”是 TextView“_tLive”的框架)

- (void)MySetTextViewWithFrame: (CGRect)frame
{
if ([self.view.subviews containsObject: _tLive])
{
[UIView animateWithDuration:0.4 animations:^
{
_tLive.frame = frame;
}];
}
else
{
_tLive = [[UITextView alloc] initWithFrame: frame];
_tLive.backgroundColor = [UIColor blackColor];
_tLive.textColor = [UIColor greenColor];
_tLive.delegate = (id)self;
_tLive.autocorrectionType = UITextAutocorrectionTypeNo;
_tLive.autocapitalizationType = UITextAutocapitalizationTypeNone;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(MyStartLiveChat)];
[_tLive addGestureRecognizer: tap];
[self.view addSubview: _tLive];
}

[UIView animateWithDuration:0.4 animations:^
{
CGRect newTableViewFrame = CGRectMake(_tvCommands.frame.origin.x, _tvCommands.frame.origin.y, _tvCommands.frame.size.width, frame.origin.y - _tvCommands.frame.origin.y);

NSLog(@"View Frame: x:%0.0f, y:%0.0f, width:%0.0f, height:%0.0f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
NSLog(@"End of TableView: %0.0f", newTableViewFrame.size.height + newTableViewFrame.origin.y);
NSLog(@"Beginning of _tLive: %0.0f", frame.origin.y);
_tvCommands.frame = newTableViewFrame;

NSLog(@"Final TableView Frame: x:%0.0f, y:%0.0f, width:%0.0f, height:%0.0f", _tvCommands.frame.origin.x, _tvCommands.frame.origin.y, _tvCommands.frame.size.width, _tvCommands.frame.size.height);
}];
}

这是我的日志:

2014-08-10 17:20:31.922 App [542:60b] View Frame: x:0, y:533, width:320, height:35 
2014-08-10 17:20:31.923 App [542:60b] End of TableView: 533
2014-08-10 17:20:31.925 App [542:60b] Beginning of _tLive: 533
2014-08-10 17:20:31.928 App [542:60b] Final TableView Frame: x:0, y:68, width:320, height:465

...

2014-08-10 17:21:02.490 App [550:60b] View Frame: x:0, y:344, width:320, height:224
2014-08-10 17:21:02.491 App [550:60b] End of TableView: 344
2014-08-10 17:21:02.492 App [550:60b] Beginning of _tLive: 344
2014-08-10 17:21:02.493 App [550:60b] Final TableView Frame: x:0, y:68, width:320, height:276

我也尝试过设置 TableView 的 contentSize 但没有成功。

提前致谢!

最佳答案

如果您在 Storyboard 中使用了自动布局,则上述代码将不起作用。尝试在 Storyboard中禁用自动布局。

关于ios - UITableView 看起来比设置的大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com