Tôi có chế độ xem cài đặt trong ứng dụng của mình có một vài nút (thực sự là UISwitches). Nếu cài đặt "tắt" trên một trong các công tắc được chọn, tôi muốn ẩn công tắc thứ hai ngay lập tức. Điều này có thể được thực hiện?iOS/iPhone- Ẩn một nút khi nút khác được nhấp vào
Trả lời
IBOutlet UIButton *btn1;
IBOutlet UIButton *btn2;
ghi 2 dòng trên vào tệp .h của bạn và đặt các cửa hàng bằng XIB.
Bây giờ tạo ra một phương pháp gọi là hideButton
-(IBAction)hideButton
{
btn1.hidden = YES;
}
trong XIB đính kèm phương pháp này với btn2
. Vì vậy, bây giờ khi bạn nhấp vào btn2
, nó sẽ ẩn btn1
.
Kết nối hai công tắc làm cửa hàng. cho phép nói switch1 & switch2.
Kết nối chức năng này với giá trịThay đổi hành động.
- (IBAction)mySwitch1:(id)sender {
[switch2 setHidden:!(switch1.isOn)];
}
Bây giờ khi switch1 không bật thì switch2 sẽ bị ẩn.
Mát mẻ, rất hiệu quả nếu tuyên bố +1 đã học được điều gì đó. – Wolfert
Thêm mục tiêu vào công tắc đầu tiên có thay đổi giá trị gọi là phiên bản của công tắc thứ hai và ẩn nó.
Thêm mục tiêu:
[switch1 addTarget:self action:@selector(switchToggled:) forControlEvents: UIControlEventValueChanged];
cuộc gọi phương pháp này:
- (void) switchToggled:(UISwitch*)switch {
if ([switch isOn]) switch2.hidden = YES;
else switch2.hidden = NO;
}
NJones lệnh if là hiệu quả hơn mặc dù.
nếu nút được đặt thành Hành động thì sao? – Umitk