ios oc两个button跳转同一页面但显示内容不同
时间: 2024-12-12 20:25:16 浏览: 11
在iOS Objective-C中,如果你有两个Button需要点击后跳转到同一个页面(比如UIViewController),但希望显示的内容不同,你可以通过以下步骤实现:
1. **创建一个通用的ViewController**:
首先,创建一个普通的UIViewController作为基础视图控制器,这个视图控制器可以包含所有你需要动态改变的UI组件。
2. **区分不同的数据源**:
在这个通用视图控制器内部,设置一些数据属性或者变量来储存每个按钮对应的不同内容。例如,你可以创建一个枚举或者字典来关联不同的标识符和要显示的数据。
```objective-c
typedef NS_ENUM(NSInteger, ButtonContent) {
ContentA,
ContentB
};
@property (nonatomic) ButtonContent buttonContent;
```
3. **设置按钮的target-action**:
对于每个Button,分别设置其动作方法(action selector)。在这个方法中,根据按钮的不同,更新`self.buttonContent`的值,并相应地刷新界面显示。
```objective-c
- (IBAction)buttonAClicked:(id)sender {
self.buttonContent = ContentA;
// 更新UI展示A的内容
}
- (IBAction)buttonBClicked:(id)sender {
self.buttonContent = ContentB;
// 更新UI展示B的内容
}
```
4. **更新视图内容**:
在`viewDidLoad`或者合适的生命周期方法中,根据`buttonContent`加载并显示对应的内容。这可能涉及到设置不同的文本、图片或者其他视图的状态。
```objective-c
- (void)viewDidLoad {
[super viewDidLoad];
switch (self.buttonContent) {
case ContentA:
// 显示内容A相关的UI
break;
case ContentB:
// 显示内容B相关的UI
break;
default:
break;
}
}
```
阅读全文