【发布时间】:2018-07-13 06:06:54
【问题描述】:
大家,
我无法在旧的 Objective c 应用程序中使用分段控件来激活或停用另一个按钮。
到目前为止,我已经尝试了以下方法: 我已将按钮和 SegmentedControl 链接到同一个 IBAction。 SegmentedControl -> 发送事件:-> 值已更改 -> 文件所有者:clearHighScore: 按钮 -> 发送事件:-> 内部修饰 -> 文件所有者 clearHighScore:
HighScoreViewController.m:
#import "HighScoreViewController.h"
@synthesize segmentedControl;
- (IBAction)clearHighScore:(id)sender {
if (self.segmentedControl.selectedSegmentIndex == 0) {}
else if (self.segmentedControl.selectedSegmentIndex == 1) {
deletes.A.table;
}
}
HighScoreViewController.m:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
- (IBAction)clearHighScore:(id)sender;
@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentedControl;
我还尝试将 SegmentedControl 链接到 HighScoreViewController.m 中的不同 IBAction:(我知道它会是多余的)
- (IBAction)activateClearHighScoreButton:(id)sender {
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
self.segmentedControl.selectedSegmentIndex = 0;
break;
case 1:
self.segmentedControl.selectedSegmentIndex = 1;
break;
default:self.segmentedControl.selectedSegmentIndex = 0;
break;
}
}
- (IBAction)clearHighScore:(id)sender {
if (self.segmentedControl.selectedSegmentIndex == 0) {}
else if (self.segmentedControl.selectedSegmentIndex == 1) {
deletes.A.table;
}
}
我想我错过了将值转移到 (IBAction)clearHighScore 但我不知道如何解决这个问题。
(这样做的原因是有一个不可见的按钮,它可以删除数据,但只有在点击了不可见的开关时才可点击/激活。 或者,我想通过单击按钮来提示密码,之后数据将被删除。 但是,我什至不知道如何实现这一点。)
提前致谢
【问题讨论】:
-
您的问题令人困惑。您有一个 SegmentedControl... 并且您有一个不可见的按钮...当用户更改选定的段时,您想更改按钮的可见性吗?或者您想保持按钮不可见,但在点击时允许执行操作?
-
我想让两者都不可见(alpha 0)。如果点击了分段控件,我想允许一个动作。
-
您想“在分段控件被点击时允许操作”?你的意思是当它被点击时你想执行一个方法?还是要启用另一个控件?
-
我想启用另一个控件(与 clearHighScore 方法链接的按钮)。分段控件必须激活/停用此“clearHighScore”按钮
标签: ios objective-c xcode uibutton uisegmentedcontrol