iOS UIstoryBoard使用ノート(一)

4376 ワード

プロジェクトはテストの段階に入って、半日暇を盗んでこのブログを整理して、コードワードは容易ではありませんて、転載するのが好きでみんなに出典を明記してもらいます:http://blog.csdn.net/wangtie_123/article/details/36179191
UIstoryBoardの使用条件:
1.大きな画面があるか、2つの画面が付いて仕事をしないとつらいです.
2.xibレイアウトに慣れ、xibレイアウトに夢中になっている.
UIstoryBoardの機能:
.プロジェクトの構造が一目瞭然である.インタフェースのレイアウトがより便利
iOS UIStoryBoard使用笔记(一)_第1张图片
UIstoryBoard--値伝達と論理処理
2つの方法は、ページジャンプが次のインタフェースViewDidLoadに開始される前に実行されます.
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender NS_AVAILABLE_IOS(6_0); // Invoked immediately prior to initiating a segue. Return NO to prevent the segue from firing. The default implementation returns YES. This method is not invoked when -performSegueWithIdentifier:sender: is used.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender NS_AVAILABLE_IOS(5_0);

ログイン画面は、入力ボックスの内容が適格かどうかを判断します.
1.storyBoardを新規作成し、File-New-File-User Interface-storyBoard-loginと入力--Loginを生成します.storyboard、これはプロジェクトで2つのStoryBoard、1つのMainがあります.storyBoard、Login.storyBoard
iOS UIStoryBoard使用笔记(一)_第2张图片
2.新しいLoginViewControllerとCompleteViewController(この手順は省略)を作成し、2番目のViewControllerをLoginViewController、3番目のViewControllerをCompleteViewControllerに変更します.
3.LoginViewController.mの#pragma mark-Navigationの次の方法でコメントを解除し、-(
BOOL)shouldPerformSegueWithIdentifier:(
NSString *)identifier sender:(
id)senderメソッド
4.論理処理とCompleteView Controlに値を追加
-(BOOL)checkTextFild{
    if ([self.userTF.text isEqualToString:@""]) {
        return NO;
    }
    if ([self.passwordTF.text isEqualToString:@""]) {
        return NO;
    }
    return YES;
}
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    [segue.destinationViewController setUserNameString:self.userTF.text];
    [segue.destinationViewController setPasswordString:self.passwordTF.text];
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender{
    return [self checkTextFild];
}

注:.shouldPerformSegueWithIdentifierメソッドがnoを返すとページはジャンプしません.
UIStoryBoard--UIStoryboardSegue
UIstoryboardSegueの3つの属性は、以下で説明します.
@property (nonatomic, readonly) NSString *identifier;
@property (nonatomic,readonly)id sourceViewController;
@property (nonatomic,readonly)id destinationViewController;
1.まずUIstoryboardSegueとは、ViewController間の「接続線」である
2.identifierプロパティは言うまでもなく表示で、設定された場所はstoryboardで線をクリックし、右のAttributes inspectorにidentifierに対応する入力ボックスがあり、1つの選択ボックスペアはstyle(結合方式)である.
3.sourceViewControllerとdestinationViewControllerは、それぞれ結合された前のviewControllerと後のviewControllerを指す
インスタンスコードの適用:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showDetail"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSDate *object = _objects[indexPath.row];
        [[segue destinationViewController] setDetailItem:object];
    }else if([[segue identifier] isEqualToString:@"showOther"]){
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSDate *object = _objects[indexPath.row];
        [[segue destinationViewController] setOtherItem:object];
    }
}
この論理構造は第1の図を参照し、tableviewで2つのcellを定義し、それぞれ異なるviewCtrollerにジャンプし、ジャンプ時にidentifierに基づいて対応方法を呼び出す.
Demoダウンロードアドレス:http://download.csdn.net/detail/wangtie_123/7576499
はい、以上がUIstroryboardの基本的な応用です.何かはっきりしていないところや分からないところがあれば、コメントして交流してください.