1
我有一個基本的子視圖,當按下按鈕時,從屏幕頂部向上滑動80。我創建了另一個類 - AdvancedView - 繼承自UIView。我想要做的是首先,將所有負責創建子視圖的代碼推送到它自己的類中:AdvancedView。然後,我想以某種方式將其設置爲子視圖的前100位顯示加載主視圖時的位置。我將在頂部顯示一個按鈕,顯示這個子視圖的一部分,它會上下切換(我知道如何編寫按鈕)。這裏是我需要投入AdvancedView和具有頂部100顯示代碼時,主視圖CalcViewController負載:如何將這個子視圖推入它自己的子類?
#import "CalcViewController.h"
#import "CalculatorBrain.h"
#import "AdvancedView.h"
@property (nonatomic, strong) AdvancedView *myNewView;
@synthesize myNewView = _myNewView;
- (AdvancedView *) myNewView
{
if (!_myNewView) _myNewView = [[AdvancedView alloc] init];
return _myNewView;
}
- (IBAction)subView {
self.myNewView.backgroundColor = [UIColor groupTableViewBackgroundColor];
self.myNewView.frame = CGRectMake(0,489, 320, 200);
[self.view addSubview:self.myNewView];
float bottomYOfDigitBeingDisplayed = 75;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(aMethod:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.myNewView addSubview:button];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelay:0.0];
[UIView setAnimationDuration: 1.0];
self.myNewView.frame = CGRectMake(0, bottomYOfDigitBeingDisplayed, 320, 400);
[UIView commitAnimations];
}
這似乎很好,但我似乎無法得到一個部分,比如前100名,子視圖在主視圖加載時顯示在屏幕底部。我希望用戶知道子視圖在那裏,並且能夠點擊子視圖頂部的一個按鈕,使它向上擴展到屏幕頂部。有沒有辦法做到這一點。也許以某種方式設置它的setter或getter,以便在CalcViewController加載後立即加載它? – Scott 2012-02-11 18:44:57
self.myNewView.frame.origin.y = 480-100;你可以隨時設置它,它應該在你的子視圖中顯示視圖的前100部分。 – 2012-02-11 18:48:08
我只是嘗試在幾個不同的位置設置它,並且我收到一條錯誤消息,說Expression不可分配。我試圖在subView動作中(連接到一個按鈕)設置它,當它不起作用時,我嘗試在myNewView setter中設置它。 – Scott 2012-02-11 19:07:08