我不知道如何弄清視圖控制器1中視圖控制器2的滑塊值的變化。我想我正確調用它,但值不傳遞給視圖。如何使用viewcontroller 2中的滑塊進行更改,以反映viewcontroller 1中的更改?
我把一個滑塊放在nib文件中,當我改變它的值時,矩形的高度和寬度的值應該改變。
這裏是我的//appdelegate.m
CGRect bounds = [self.window bounds];
KaleidoTab *view = [[KaleidoTab alloc] initWithFrame:bounds];
view.backgroundColor = [UIColor whiteColor];
KaleidoTabFirstViewController *vc = [[KaleidoTabFirstViewController alloc] init];
[vc setView: view];
KaleidoTabSecondViewController *vc2 = [[KaleidoTabSecondViewController alloc] init];
//[vc2 setView: view];
vc2.vc = vc;
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[vc, vc2];
self.window.rootViewController = self.tabBarController;
這裏是我的//secondviewcontroller.h
#import <UIKit/UIKit.h>
#import "KaleidoTabFirstViewController.h"
@interface KaleidoTabSecondViewController : UIViewController {
IBOutlet UISlider *changeSize;
IBOutlet UILabel *label1; }
@property KaleidoTabFirstViewController *vc;
@property (nonatomic, retain) IBOutlet UISlider *changeSize;
- (IBAction) changeSizeSlider:(id)sender;
這裏的//secondviewcontroller.m
- (IBAction)changeSizeSlider:(UISlider *)sender
{
/// Change label to match slider's value
label1.text = [NSString stringWithFormat:@"%g", changeSize.value];
CGFloat changeSizeCont = changeSize.value;
((KaleidoTab *)vc.view).rect_width = changeSizeCont;
((KaleidoTab *)vc.view).rect_height = changeSizeCont;
}
kaleidotab.m有繪製矩形的方法。
我合成的屬性,一切都很好。我認爲我的firstviewcontroller對象有問題。
感謝您的時間。 謝謝
這非常令人費解。爲什麼要創建視圖並將其分配給視圖控制器?我會定義視圖控制器使用(作爲它的視圖屬性,在筆尖)的KaleidoTab視圖。然後,使用標準的MVC實踐來定義一個數據模型,該數據模型保存在滑塊上操作的值。任何希望在數據模型更新時都可以更新的視圖。 – 2013-04-11 00:08:21
@MattMartel我相信我正確的方式,與選項卡式應用程序模板我可以讓我的viewcontrollers每當我想要編程方式調用,但問題是與具有nib文件的secondviewcontroller。該值不是從滑塊的cahngevalue傳遞到視圖對象vc2。試圖弄清楚,但沒有成功。 – user2038249 2013-04-11 00:28:51
滑塊標籤是否正確更新? – Matt 2013-04-11 00:42:46