2016-11-21 3 views
1

私は目的のプロジェクトでSWRevealViewControllerを使用しています。時々、私は左メニューをスライドすると、最初の項目が移動されます。最初の項目だけ、私はなぜ他の人のように同じマージンを持っているのか分からない。左メニューのビュー項目を移動しましたSWRevealViewControllerの目的c

また、それはテーブルビューではなく、ストーリーボードで作成された静的ビューです。

時にはそれが間違って示したです。この

enter image description here

その

enter image description here まず項目は時々移動のようにする必要があります。

アイデア? Thx for help;)

+0

はあなたのQUESを得るカント – vaibhav

+0

@vaibhavの質問はuilabelパディングpostionを修正..ですより具体的に説明してください。時々最初の行のテキストが正しく設定されていませんでした – Vinodh

+0

@Vinodhそうです... –

答えて

1

テーブルビューを使用すると、最適化コードで簡単に使用できます。 tableViewのdidSelectメソッドの各ビューをナビゲートできます。 ここにコードを試してみてください。

arrMenuItems = [[NSMutableArray alloc]initWithObjects:@"HOME",@"YOUR WORK", @"BOOKMARKS", @"GETSTARTED",@"SETTING", @"LOG OUT",nil]; 


#pragma mark - Table view delegate and data source 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return arrMenuItems.count; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *cellid = @"cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellid]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellid]; 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    } 

    cell.textLabel.text = [arrMenuItems objectAtIndex:indexPath.row]; 
    return cell; 
} 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

    switch (indexPath.row) { 
     case 0:{ 

      HomeViewController *rootViewController = InstantiateVC(@"HomeViewController"); 

       UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
       [navController setViewControllers: @[rootViewController] animated: YES]; 

       [self.revealViewController setFrontViewController:navController]; 
       [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
      } 
      break; 
     } 

     case 1:{ 
      YourWorkViewController *homeVC = InstantiateVC(@"YourWorkViewController"); 

      UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:homeVC]; 
      [navController setViewControllers: @[homeVC] animated: YES]; 

      [self.revealViewController setFrontViewController:navController]; 
      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 

      break; 
     } 

     case 2:{ 
      BookMarkViewController *writeToUsVC = InstantiateVC(@"BKBWriteToUsVC"); 

      writeToUsVC.isFromVCTag = WRITE_TO_US; 

      UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:writeToUsVC]; 
      [navController setViewControllers: @[writeToUsVC] animated: YES]; 

      [self.revealViewController setFrontViewController:navController]; 
      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
      break; 
     } 
     case 3:{ 
      GetStartedViewController *aboutUsVC = InstantiateVC(@"BKBAboutVC"); 


      UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:aboutUsVC]; 
      [navController setViewControllers: @[aboutUsVC] animated: YES]; 

      [self.revealViewController setFrontViewController:navController]; 
      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
      break; 
     } 
     case 4:{ 
      SettingViewController *writeToUsVC = InstantiateVC(@"BKBWriteToUsVC"); 

      writeToUsVC.isFromVCTag = CONTACT_US; 

      UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:writeToUsVC]; 
      [navController setViewControllers: @[writeToUsVC] animated: YES]; 

      [self.revealViewController setFrontViewController:navController]; 
      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
      break; 
     } 
     case 5:{ 
      LogOutViewController *writeToUsVC = InstantiateVC(@"BKBWriteToUsVC"); 

      writeToUsVC.isFromVCTag = CONTACT_US; 

      UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:writeToUsVC]; 
      [navController setViewControllers: @[writeToUsVC] animated: YES]; 

      [self.revealViewController setFrontViewController:navController]; 
      [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 



      break; 
     } 

     default: 
      break; 
    } 

} 

要件に応じてViewControllerを変更してください。

+0

質問は、拳のセルにはパディングが設定されていませんが、上記のコードでどのように修正されるのでしょうか。私は理解していない理解してください – Vinodh

+0

@Krishna多くのありがとう!私はそれを実装しようとします。 –

+0

しかし、tableviewを使ってメニューを再構築することなく最初の要素のためのパディングを設定する方法も非常に興味深い。 –

0

//変更されたコード

//自分ですべてを作成できます。それはswrevealを使用する非常に簡単な方法です。私はそれが役に立つと願っています。

NSArray *menuItems; 

menuItems = @[@"title",@"Edit Profile",@"Match",@"Add Event",@"Give",@"Events",@"Market place",@"Recognizes businesses",@"About",@"Termsnuse",@"changePassword",@"Logout"]; 


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

{ 
return [menuItems count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 


NSString *CellIdentifier = [menuItems objectAtIndex:indexPath.row]; 
UIImageView*imgProfile=[[UIImageView alloc]initWithFrame:CGRectMake(10, 20, 50, 50)]; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

UIView *bgColorView = [[UIView alloc] init]; 
bgColorView.backgroundColor = Black; 
[cell setSelectedBackgroundView:bgColorView]; 

if (indexPath.row==0) { 
    UILabel*lbl; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 130)]; 

    UILabel*lblUserName; 
    UIImageView*imgUser; 
    imgUser=[[UIImageView alloc]initWithFrame:CGRectMake(100, 10, 80, 80)]; 

    lblUserName=[[UILabel alloc]initWithFrame:CGRectMake(40, 95, 200, 30)]; 

    lbl.backgroundColor=Black; 
    imgProfile.backgroundColor=[UIColor orangeColor]; 

    NSUserDefaults*defaults=[NSUserDefaults standardUserDefaults]; 


    NSDictionary *dict = [defaults objectForKey:@"Ucountry"]; 



    NSString *strImage = [dict objectForKey:@"image"]; 

    if ([strImage isEqualToString:@""]) { 

     NSLog(@"strImage====>%@",strImage); 
//   strImage = [strImage stringByReplacingOccurrencesOfString:@" " withString:@""]; 
//   NSURL *imageURL = [[NSURL alloc]initWithString:strImage]; 
//   [imgUser sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"user"]]; 
    }else{ 
     strImage = [strImage stringByReplacingOccurrencesOfString:@" " withString:@""]; 
     NSURL *imageURL = [[NSURL alloc]initWithString:strImage]; 
     [imgUser sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"user"]]; 
    } 







    imgUser.layer.cornerRadius=40; 
    imgUser.clipsToBounds=YES; 
    imgUser.layer.borderWidth=2.0f; 
    imgUser.layer.borderColor=bgColor.CGColor; 
    //imgUser.image=[UIImage imageNamed:@"welcome_rabecca"]; 


    NSString *strFullName =[dict objectForKey:@"firstName"]; 
    lblUserName.text=strFullName; 
    lblUserName.textColor=White; 
    lblUserName.textAlignment=NSTextAlignmentCenter; 
    lblUserName.font=[UIFont fontWithName:@"Kiro" size:14]; 
    lblUserName.backgroundColor=Black; 

    [cell addSubview:lbl]; 
    [cell addSubview:imgUser]; 
    [cell addSubview:lblUserName]; 

} 
else if (indexPath.row==1) 

{ 
    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Edit Profile"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"edit"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 
} 
else if (indexPath.row==2) 

{ 
    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Match a Friend"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"match"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 

} 
else if (indexPath.row==3) 

{ 
    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Post Charity Events"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"addevent"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 

} 

else if (indexPath.row==4) 
{ 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Give to Causes"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"give"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 

} else if (indexPath.row==5) 
{ 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Events"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"event"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 


} else if (indexPath.row==6) { 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Market Place"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"market"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 


} 
else if (indexPath.row==7) { 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Promote Your Business"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"market"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 


} 
else if (indexPath.row==8) { 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"About"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"about"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 

} 


else if (indexPath.row==9) { 

    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Terms of Use"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"term"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 

} 
else if (indexPath.row==10){ 
    UILabel*lbl; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Change Password"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"changePassword"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 


} else if (indexPath.row==11){ 
    UILabel*lbl; 
    UILabel*lblLine; 
    UILabel*lbln; 
    UIImageView*img; 
    img=[[UIImageView alloc]initWithFrame:CGRectMake(8, 12, 20, 20)]; 
    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    lbln=[[UILabel alloc]initWithFrame:CGRectMake(47, 0, 320, 44)]; 

    lblLine=[[UILabel alloc]initWithFrame:CGRectMake(0, 39, 320, 1)]; 
    lblLine.backgroundColor=bgColor; 
    lbl.backgroundColor=Black; 
    lbl.layer.borderWidth=1.0f; 
    lbl.layer.borderColor=bgColor.CGColor; 
    [email protected]"Logout"; 
    lbln.textColor=White; 
    lbln.font=[UIFont fontWithName:@"Kiro" size:18]; 
    img.image=[UIImage imageNamed:@"logout"]; 

    [cell addSubview:lbl]; 
    [cell addSubview:lbln]; 
    [cell addSubview:img]; 
    [cell addSubview:lblLine]; 
} 
/* 

*/ 
// cell.backgroundColor=[UIColor whiteColor]; 

    return cell; 
} 


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if (indexPath.row==0) { 
    return 130; 
}else if (indexPath.row==13) 
{ 
    return 70; 
}else{ 
    return 40; 
} 

} 
関連する問題