IOS UI 2013-8-9学習ノート

2255 ワード

1.コントロールのプロパティを設定します.
マウスの右ボタンを押してコントロールにドラッグ&ドロップします.h,設定が
@property (retain, nonatomic) IBOutlet UILabel *label;
@property (retain, nonatomic) IBOutlet UIButton *leftButton;
このViewControllerのプロパティです.mファイルにselfを使用する.Labelはこのコントロールを取得します.
例:
[self.leftButtonsetTitle:@"LOVE"forState:UIControlStateHighlighted]; ボタンを押して放さないと、ボタンのテキストはLOVEをプログラミングしますが、手を放すと元に戻ります.
2.コントロールの設定方法
マウスの右ボタンを押してコントロールにドラッグ&ドロップします.h,IBActionを選択するとメソッド属性が設定されます
- (IBAction)leftClick:(id)sender;
- (IBAction)rightClick:(id)sender; はい.mファイルに自動生成のクリック方法に論理コードを追加する:
例:
- (IBAction)rightClick:(id)sender {
    self.label.text =@"right";
}
3.2つのボタンが同時に同じイベントを持つことを処理します.どのように区別しますか?
2つのボタンが同時に同じclickメソッドを持つことを指すが、どのボタンがこのメソッドをクリックしたかを知るには、メソッドのclick:(id)senderというパラメータによって、どのボタンがイベントをトリガーするかを識別し、各ボタンにtagを設定して各ボタンを一意に識別することが望ましい.mファイルでマクロ定義でこれらのtagを設定する
例:
#define LEFT_BUTTON_Tag 1 #define RIGHT_BUTTON_Tag 2 -(IBAction)click:(id)sender { 	UIButton *button = (UIButton *)sender; 	if(button.tag == LEFT_Button_Tag) 	{ 		self.Label.text = @"Left click"; 	} }

一般的な関数:
-(void)removeFromSuperview;
-(void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
-(void)exchangeSubviewAtIndex:(NSInterger)index1 withSubviewAtIndex:(NSInteger)index2;
-(void)addSubview:(UIView *)view;
-(UIView *)viewWithTag:(NSInteger)tag;
4.コードでTableサイズを再設定する:
CGRect frame = CGRectMake(100,100,200,100);
//テストの前に、Use Autolayoutの機能を選択しないで、自分でlabelサイズを文字レイアウトに合わせましょう
//フォントサイズを求める
//元に加える
self.label.text = str;
//フォントの長さの大きさを求めて、CGSizeの分類方法の中で隠れます
CGSize size = [str sizeWithFont:self.label.font];
//長方形サイズのカスタマイズ
CGRect frame = CGRectMake(self.label.frame.origin.x,self.label.frame.origin.y,size.width,self.label.frame.size.height);
//自分で設定したframeサイズで現在のlabel長のサイズを変更
self.lable.frame = frame;
追加の方法:
CGSize labelSize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
文字列sをfontフォントとする場合、区間size内でこの行を使用する場合、sが持つべき大きさ、すなわちsが最大size範囲内の幅と高さ
別のviewに1つのviewを追加
[self.view addSubview:label2];//追加後、カウンタに1を追加し、リリースします.
[label2 release];