首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IBAction - iOS中的If Else语句

IBAction - iOS中的If Else语句
EN

Stack Overflow用户
提问于 2013-08-08 15:16:22
回答 4查看 338关注 0票数 0

我以前构建过if-else语句,以使UIButtons充当切换,但这组代码似乎更具挑战性。我现在有两个独立的IBActions,一个叫open,另一个叫close。我想让它成为一个通过IBAction语句进行切换的if-else。这是两个IBActions的代码。

代码语言:javascript
复制
- (IBAction)actionOpen:(id)sender {
    [self.flatDatePicker show];
}

- (IBAction)actionClose:(id)sender {
    [self.flatDatePicker dismiss];
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-08 15:20:48

设置一个财产之类的,像这样.

代码语言:javascript
复制
// in the private extension

@property (nonatomic) BOOL flatDatePickerOpen;

那就做这样的事。

代码语言:javascript
复制
- (IBAction)toggleFlatDatePicker {
    if (self.flatDatPickerOpen) {
        [self.flatDatePicker dismiss];
        self.flatDatePickerOpen = NO;
    } else {
        [self.flatDatePicker show];
        self.flatDatePickerOpen = YES;
    }
}

您也不必指定操作的发送方部分。如果你不使用它,那就没有必要使用它。

或者,在flatDatePicker上使用一个属性来告诉您它是否可见,而不是其他属性。

票数 3
EN

Stack Overflow用户

发布于 2013-08-08 15:27:52

您不必为此创建自己的属性,平面选择器已经定义为:

代码语言:javascript
复制
@property(nonatomic,readonly) BOOL        isOpen;                 // read only property, indicate in datepicker is open.

所以..。

代码语言:javascript
复制
- (IBAction)toggleFlatDatePicker {
    if (self.flatDatePicker.isOpen) {
        [self.flatDatePicker dismiss];
    }else{
        [self.flatDatePicker show];
    } 
}
票数 3
EN

Stack Overflow用户

发布于 2013-08-08 15:21:01

在标头中为BOOL创建datePickerShowing类型

代码语言:javascript
复制
@property (nonatomic,assign) BOOL datePickerShowing;

将其合成到您的.m文件中

代码语言:javascript
复制
@synthesize datePickerShowing;

在init方法中将此设置为NO。datePickerShowing = NO;

在IBAction中:

代码语言:javascript
复制
if (datePickerShowing) {
    [flatDatePicker dismiss];
    datePickerShowing = NO;
} else {
    [flatDatePicker show];
    datePickerShowing = YES;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18129788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档