iOS工作笔记(十四)

时间:2023-12-14 18:32:38

1.scrollview的frame指的是其可视范围,contentSize指的是其滚动范围,分别是在水平方向和竖直方向上的

所以要让scrollview在水平方向不能滚动,那么需要如下设置

_scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(, , kScreenWidth, kScreenHeight)];
_scrollView.contentSize = CGSizeMake(, kScreenHeight*);

若要使scrollview能够滚动,contentSize某一方向的属性要比frame的大,否则滚动区域小,内容能全部展示,就无需滚动了

2.设置uicollectionview与屏幕两侧左右间距,可以用

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
return UIEdgeInsetsMake(, , , );//分别为上、左、下、右
}

添加该方法前

iOS工作笔记(十四)

添加该方法后

iOS工作笔记(十四)

上述方法与

layout.minimumLineSpacing = ;
layout.minimumInteritemSpacing = ;

这两个属性来共同调节uicollectionview的cell的位置

3.修改键盘return为send,可以用

self.myTextView.returnKeyType = UIReturnKeySend;

但此时仍有问题,点击send时仍为换行,应该做处理

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@"\n"]) {
return NO; //使得return键失效
}
return YES;
}

若要对send事件进行监听,也是在上述方法里边

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@"\n"]) {
//send事件处理
[self.myTextView resignFirstResponder]; return NO; //使得return键失效
}
return YES;
}

4.在tableview中若想在进入时就默认选中某一行,可以用

[self.firstTabelView selectRowAtIndexPath:indexPath
animated:NO
scrollPosition:UITableViewScrollPositionNone];