gpt4 book ai didi

iphone - 根据首选项显示/隐藏 iphone UI 元素 - 如何?

转载 作者:行者123 更新时间:2023-12-03 18:38:57 25 4
gpt4 key购买 nike

我的 iPhone 应用程序中有一个简单的表单。该表单通过 IB 和典型接线进行布局和管理(即我不是以编程方式创建此表单)。

仅当设置了特定首选项时才应显示其中一个字段(及其关联标签)。

可以将字段和标签的 alpha 设置为 0 并在这种情况下禁用它们。问题是这个现在不可见的字段下面的字段将保留在同一位置,并且会有一个大的空白区域。我的目标是让屏幕在任何一种状态下看起来都正常。

有没有办法以编程方式删除(或添加)UI 元素,并使下面的元素向上或向下移动以腾出空间?或者我应该考虑为第二种情况制作一个完整的其他 NIB 文件? (如果我这样做,有没有一种简单的方法来共享公共(public)元素?)

显示两个控件的当前 UI

With Both http://img.skitch.com/20100704-bm41w6wtqkdgh1da99ihb7g32d.jpg

通过 alpha == 0 隐藏可选控件的 UI

Using Alpha to Hide http://img.skitch.com/20100704-q2sxrj3nf6ya68wp6ubn86n2pa.jpg

隐藏可选控件的所需 UI

Desired when hidden http://img.skitch.com/20100704-82r876pgctee8gb51ujg1dwj7k.jpg

最佳答案

当每个 UI 元素都链接到 IBOutlet 指针时,例如

@property (nonatomic, retain) IBOutlet UITextField *field_a;
@property (nonatomic, retain) IBOutlet UITextField *field_b;
@property (nonatomic, retain) IBOutlet UITextField *field_c;
// ...

您可以通过以下方式测试每个元素的可见性:

if (field_a.hidden) {
// ...
} else {
// ...
}

并移动它们:

CGPoint pt = field_a.center;
pt.y -= 60;
field_a.center = pt;

或者通过一些动画:

CGPoint position = field_a.center;
position.y -= 60;
[UIView beginAnimations:@"MoveUp" context:NULL];
[UIView setAnimationDuration:0.5];
field_a.center = position;
[UIView commitAnimations];

隐藏元素:

field_a.hidden = YES;

显示元素:

field_a.hidden = NO;

关于iphone - 根据首选项显示/隐藏 iphone UI 元素 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175816/

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