我正在将数据加载到MySQL的数组中,我想填充它们UITableCiew.如何添加多个列(在我的情况下为4)UITableView?
我能够加载行数据,但我不明白如何将其分成列.是UICollectionView一种选择吗?如果是的话,我该怎么办呢?
我在一个带有完成和取消按钮的uipopover中有一个完美的uipickerview.当用户多次打开uipickerview时,我能够保存最后选择的行并将其显示为默认值.问题是,当用户注销并登录时,我希望uipickerview重新开始,即,当我打开uipickerview并单击完成按钮(没有选择任何行)时,我希望它使用默认行即ie.row0但它在退出之前显示最后一个选定的行!! 我怎么解决这个?非常感谢.
NSString *selectedType = @"ALL";
int rowselected = 0;
- (void)viewDidLoad
{
[super viewDidLoad];
rowselected = 0;
_typearray = [[NSArray alloc] initWithObjects:@"ALL", @"COACH", @"GROUP", @"PRIVATE", nil];
NSInteger lastrow =[[[NSUserDefaults standardUserDefaults] objectForKey:@"gueststyperow"] integerValue];
if(lastrow!=0)
[self.picktype selectRow:lastrow inComponent:0 animated:NO];
else
[self.picktype selectRow:0 inComponent:0 animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
// DONE BUTTON PRESSED:
- (IBAction)doneButtonPress:(UIBarButtonItem *)sender {
NSLog(@"%@",_delegate);
NSNumber *temprow = [NSNumber numberWithInt:rowselected];
[[NSUserDefaults standardUserDefaults] setValue:temprow forKey:@"gueststyperow"];
[_delegate sendtype:selectedType];
}
Run Code Online (Sandbox Code Playgroud)
// PICKERVIEW SELECTION
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
rowselected = row;
selectedType = [_typearray objectAtIndex:row];
}
Run Code Online (Sandbox Code Playgroud) 虽然网站上有关于UITableview单元重复滚动的帖子有几个,但我找不到解决方案,也许是因为我对obj-c很新.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *cellIdentifier = [NSString stringWithFormat:@"cell%d",indexPath.row];
UILabel *firstlabel = nil;
UILabel *secondlabel = nil;
UILabel *thirdlabel = nil;
myTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
if(!cell) {
cell = [[myTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
}
if (noOfRows < [_eachrow count]-1) {
_eachcolumn = [_eachrow[noOfRows] componentsSeparatedByString:@"|"];
firstlabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0, 142.0,tableView.rowHeight)];
firstlabel.font = [UIFont fontWithName:@"Verdana" size:12];
firstlabel.text = _eachcolumn[0];
firstlabel.textAlignment = ALIGN_LEFT;
firstlabel.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleHeight;
[cell.contentView addSubview:firstlabel];
secondlabel = [[UILabel alloc] initWithFrame:CGRectMake(142.0, 0, 50.0,tableView.rowHeight)]; …Run Code Online (Sandbox Code Playgroud)