2013年7月8日 星期一

AMIGO Controller: Motion Editor


《AMIGO Controller》中的四個頁面基本上已經完成了三個,剩下最複雜的「動作編輯器」。

我很想用戶只要一台 iPad 便能處理機體所有的動作,包括播放、編輯、上傳、下載,但又不想介面太過豐富,所以花了很多心機盡量令畫面簡潔。上圖是「動作編輯器」中設定「動作按鈕」顏色的部份。使用了 UIPickerView 及 UIPopoverController 來達成。以下是當中的代碼:
- (void)showColorPicker  {
 CGRect rect = CGRectMake(0, 0, 320, 216);
 UIViewController *controller = [[[UIViewController alloc] init] autorelease];
 UIView *uiview = [[UIView alloc] initWithFrame:rect];
 [controller setView:uiview];
 [uiview release];

 UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:rect];
 [pickerView setTag:MOTIONEDITORVIEW_TAG_COLOR];
 [pickerView setDelegate:self];
 [pickerView setDataSource:self];
 [pickerView setShowsSelectionIndicator:YES];
 [pickerView selectRow:_motion.themeID inComponent:0 animated:YES];
 [uiview addSubview:pickerView];
 [pickerView release];
 
 UIPopoverController *popViewController = [[UIPopoverController alloc] initWithContentViewController:controller];
 [popViewController setPopoverContentSize:rect.size animated:NO];
 [popViewController presentPopoverFromRect:_colorButton.frame inView:self.view  permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
 [popViewController setDelegate:self];
 self.popController = popViewController;
 [popViewController release];
}

沒有留言: