在cocoacontrols發現了兩個好物,應該會在AHCI這門課所用到,先記錄一下
a. SPUserResizableView MIT所寫出來的一隻用來改變View大小的一隻程式,沒有使用Arc,所以要在Build Phases加上-fno-objc-arc 使用的方式如下:(雖然官網有寫XD,不過還是簡單記錄一下)
#import "SPUserResizableView.h" //初始化方式 - (void)viewDidLoad { //初始化一個frame CGRect frame = CGRectMake(50, 50, 200, 150); //初始化一個SPUserResizableView *的object SPUserResizableView *userResizableView = [[SPUserResizableView alloc] initWithFrame:frame]; //初始化一個view -> 想要改變大小的view UIView *contentView = [[UIView alloc] initWithFrame:frame]; [contentView setBackgroundColor:[UIColor redColor]]; //把想改變大小的view加入到SPUserResizableView的contentView中 userResizableView.contentView = contentView; [self.view addSubview:userResizableView]; }
這份code有宣告兩個protocol可以用,可以把自己設為delegate來傳值
//當手指按下要改變大小的view後會把userResizableView傳給delegate //(userResizableView即想改變大小的view) - (void)userResizableViewDidBeginEditing:(SPUserResizableView *)userResizableView; //當手指離開要改變的小的view後會把userResizableView傳給delegate - (void)userResizableViewDidEndEditing:(SPUserResizableView *)userResizableView;
b. QBPopupMenu 一樣式MIT所產出的code,也是沒用ARC所以要記得在Build Phases加上-fno-objc-arc 使用方式如下:
//先初始化一個QBPopupMenu的物件 QBPopupMenu *popupMenu = [[QBPopupMenu alloc] init]; //初始化item1 -> 不加圖示 QBPopupMenuItem *item = [QBPopupMenuItem itemWithTitle:@"Text Only" target:self action:@selector(hoge:)]; //初始化item2 -> 加圖示 QBPopupMenuItem *item2 = [QBPopupMenuItem itemWithTitle:@"Text with Image" image:[UIImage imageNamed:@"image.png"] target:self action:@selector(hoge:)]; 把初始化好的item加到menu中 popupMenu.items = [NSArray arrayWithObjects, item1, item2, nil]; 最後把menu show到view [popupMenu showInView:self.view atPoint:CGPointMake(...)];
這份code需要注意的地方: 1. 實際上menu的view會和整個view的frame一樣大,而不是只有menu的大小 -> 可以在QBPopupMenuOverlayView中把
self.backgroundColor = [UIColor clearColor];
這行改成
self.backgroundColor = [UIColor redColor];
就可以知道惹
沒有留言:
張貼留言