关闭

代码片段9

248人阅读 评论(0) 收藏 举报

方法一:

?
1
2
3
4
第一步:
[self.collectionView registerNib:[UINib nibWithNibName:@"QGLShareBtnCell" bundle:nil] forCellWithReuseIdentifier:@"QGLShareBtnCell”];
第二步:
QGLShareBtnCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QGLShareBtnCell" forIndexPath:indexPath];


方法二:

?
1
2
3
4
    QGLIMGroupListCell *cell = (QGLIMGroupListCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell= (QGLIMGroupListCell *)[[[NSBundle  mainBundle]  loadNibNamed:@"QGLIMGroupListCell" owner:self options:nil]  lastObject];
    }


怎么给IOS视图控件加上一层虚线边框  还是可以根据控件大小来定呢?

应用场景: 一个文本textField跟要据文字大小来改变自己的大小。  边框为虚线边框。

     这时候大家可能考虑到的是 做一个虚线背景 然后拉伸后做为textField的边框。

     想法很好,但出现的总是是, 在拉伸的那个点,正好是白色 或 者黑色的时候  就是有总是的。  白色拉伸后一长条全是白的 黑色也如此

 

这时候在考虑的就是 能不能实时画一个虚线背景图 实时设置textField的背景呢。

答案是可以的。 

我也在网上找了一些相关的资料 发现零零散散的也这方面的东西 但没有人贴出一个完整可用的解决方案

因此 我写了一个UIImage的分类。  可以直接调用一下 就可以直接使用了。

代码:

复制代码
+ (UIImage*)imageWithSize:(CGSize)size borderColor:(UIColor *)color borderWidth:(CGFloat)borderWidth
{
    UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);   
    [[UIColor clearColor] set];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    CGContextSetLineWidth(context, borderWidth);
    CGContextSetStrokeColorWithColor(context, color.CGColor);
    CGFloat lengths[] = { 3, 1 };
    CGContextSetLineDash(context, 0, lengths, 1);
    CGContextMoveToPoint(context, 0.0, 0.0);
    CGContextAddLineToPoint(context, size.width, 0.0);
    CGContextAddLineToPoint(context, size.width, size.height);
    CGContextAddLineToPoint(context, 0, size.height);
    CGContextAddLineToPoint(context, 0.0, 0.0);
    CGContextStrokePath(context);
    UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}
复制代码

这是方法的实现。 第一个参数为 需要虚线边框视图的大小, 第二个为 边框颜色, 第三个为 边框粗细。

创建为UIImage的分类的话 直接可以用UIImage 来调用 非常方便。


在AppDelegate中添加如下代码,即可.

 

//强制使用系统键盘

- (BOOL)application:(UIApplication *)application

shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier

{

    if ([extensionPointIdentifier isEqualToString:@"com.apple.keyboard-service"]) {

        return NO;

    }

    return YES;

}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18500次
    • 积分:346
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:51篇
    • 译文:1篇
    • 评论:1条
    最新评论