gpt4 book ai didi

ios - UIAlertView奇怪的角落显示

转载 作者:行者123 更新时间:2023-11-29 04:33:17 24 4
gpt4 key购买 nike

我在 UIAlertView 中有一个 UITableView,现在它显示了一些非常丑陋的角落。我确实在 willPresentAlertView() 中放大了警报 View 的大小。

#define ALERT_VIEW_WIDTH 750
#define ALERT_PADDING 20
- (void)willPresentAlertView:(UIAlertView *)alertView {
{
NSLog(@"%@", [[alertView class] description]);

id thing;
if ( [[[alertView class] description] isEqualToString:@"UIAlertTableView"]){ //change the alert view size
NSLog(@"center: %f", alertView.center.x);

int center=alertView.center.x-ALERT_VIEW_WIDTH/2;
for (thing in alertView.subviews)
{
NSLog(@"%@", [[thing class] description]);
if([[[thing class] description] isEqualToString:@"UITableView"])
{
UIView* v=(UIView*)thing;
v.frame=CGRectMake(v.frame.origin.x+ALERT_PADDING, v.frame.origin.y, ALERT_VIEW_WIDTH-ALERT_PADDING*3, 250);
}
if([[[thing class] description] isEqualToString:@"UIAlertButton"])
{
//UIView* v=(UIView*)thing;
//v.frame=CGRectMake(v.center.x, v.frame.origin.y, 100, v.frame.size.height-10);
}
if([[[thing class] description] isEqualToString:@"UILabel"])
{
//UIView* v=(UIView*)thing;
//v.frame=CGRectMake(center-v.frame.size.width/2, v.frame.origin.y, v.frame.size.width, v.frame.size.height);
}
}
alertView.frame=CGRectMake(center, alertView.frame.origin.y, ALERT_VIEW_WIDTH, 360);

}

}
}

如何解决这个问题?谢谢! enter image description here

最佳答案

看起来它只是拉伸(stretch)了自身,而不是重新绘制了其内容。您需要告诉它需要重绘([alertView setNeedsDisplay]),或者将其内容模式设置为重绘,以便帧更改触发重绘。

顺便说一句,这种私有(private) View 层次结构的导航是非常脆弱的东西。在 iOS 中不需要做太多的改变,这个功能就会神秘地停止工作。

关于ios - UIAlertView奇怪的角落显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11411973/

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