我在我的項目中使用SWRevealViewController目標c。有時當我滑動左側菜單時,第一個項目被移動。只有第一個項目,我不知道爲什麼,因爲它與其他項目具有相同的利潤率。在左側菜單中移動視圖項目SWRevealViewController目標c
此外,它不是tableview,它只是在故事板中創建的靜態視圖。
有時是不正確顯示此
它需要是這樣的
任何想法? Thx尋求幫助;)
我在我的項目中使用SWRevealViewController目標c。有時當我滑動左側菜單時,第一個項目被移動。只有第一個項目,我不知道爲什麼,因爲它與其他項目具有相同的利潤率。在左側菜單中移動視圖項目SWRevealViewController目標c
此外,它不是tableview,它只是在故事板中創建的靜態視圖。
有時是不正確顯示此
它需要是這樣的
任何想法? Thx尋求幫助;)
請使用表格查看它將很容易爲您優化代碼。您可以在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。
問題是填充未設置爲第一個單元格,但上面的代碼將如何解決它。我不明白,請解釋 – Vinodh
@克里希納非常感謝!我會盡力實施它。 –
但是,如果沒有使用tableview重建菜單,第一個元素的填充設置也很有趣。 –
//修改後的代碼
//你可以用你自己創建所有東西。這是使用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;
}
}
不能得到你的問題請具體解釋.. – vaibhav
@vaibhav問題是修復uilabel填充位置。有時第一行的文本設置不正確 – Vinodh
@Vinodh是正確的...... –