我在我的项目中使用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是正确的...... –