iOS-分享两个小问题

一、UIImageView 的 initWithImage:方法

1、问题

看到有人讨论,为什么这样创建了一个UIImageView,会没显示,代码如下:

UIImageView * imageView = [[UIImageView alloc]init];

imageView.image = [UIImage imageNamed:@"icon.png"];

[self.view addSubview:imageView];

第一眼看到这个问题,直观的想这个View是没有大小,肯定没法显示。后来才发现,原来用错了应该要这样用代码如下:

    UIImageView * imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"icon.png"]];

    [self.view addSubview:imageView];

手动跑了下代码,真是这样,为什么会用这种现象呢?

2、分析

分别用两种方式创建了一个UIImageView,输出了对应的属性:

1、用initWithImage:初始化

<UIImageView: 0x7fa1ca8225d0; frame = (0 0; 55 55); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7fa1c8ca2060>>

2、用init初始化

<UIImageView: 0x7f9b449aa030; frame = (0 0; 0 0); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7f9b4490cfa0>>

3、结论

initWithImage:初始化会自动的设置view的大小,init不会设置view的大小。

二、Local declaration of ‘XXX‘ hides instance variable

在写代码的时候看到一个代码出现警告:

看了很久,发现原来是自己不小心重新声明了一个和成员变量同名的变量,代码如下:

总结:所以现在理解上面的警告信息是说这个变量被覆盖。

时间: 2024-11-02 01:55:36

iOS-分享两个小问题的相关文章

分享两个你可能不知道的Java小秘密

引言 最近LZ的工作发生了重大变化,以后博文的更新速度可能会再度回温,希望猿友们可以继续关注. 近期LZ辞掉了项目经理的工作,不过并未离开公司,是转到了基础研发部做更基础的研发,为广大技术人员服务.这会让LZ有更多的时间去研究一些技术方面的东西,LZ打算折腾一下spring的源码,期待有一天可以成为spring代码的贡献者. 好了,废话说到这里吧,今天先分享两个小问题的解决办法,可能你以后也会遇到的. DBCP数据源坑爹的地方 前几天系统出现了一个错误,比较奇葩.中文解释是“无法从套接字读取更多

分享两个提高效率的AndroidStudio小技巧

原文:https://www.jianshu.com/p/68fd5373effc 这次分享两个 Android Studio 的小技巧,能够有效提高效率和减少犯错,尤其是在团队协作开发中. Getter 模板修改--自动处理 null 判断 格式化代码自动整理方法位置--广度 or 深度 好了,下面优先介绍下这两个小技巧有什么作用,然后再给出使用教程,想直接看教程的可以直接跳到最后. 目的 Getter 模板修改 开发过程中,经常会遇到空指针异常,尤其是在线上 bug 中,由于未进行 null

ios设备突破微信小视频6S限制的方法

刷微信朋友圈只发文字和图片怎能意犹未竟,微信小视频是一个很好的补充,音视频到位,流行流行最流行.但小视频时长不能超过6S,没有滤镜等是很大的遗憾.but有人突破限制玩出了花样,用ios设备在朋友圈晒出超时长.带滤镜甚至慢镜头拍摄的小视频.随ytkah一起看看他们是怎么玩的吧 未越狱ios设备在微信朋友圈上传延时.慢动作.滤镜.超时长小视频的方法: 第①步,将iPhone拍摄好的延时.超时长或者慢动作的视频保存到本地电脑,并同时截取一张视频画面保存.(PS:添加滤镜效果可以通过iMovie等App

ASP.NET MVC 开发中遇到的两个小问题

最近在做一个网站,用asp.net MVC4.0来开发,今天遇到了两个小问题,通过查找相关渠道解决了,在这里把这两个问题写出来,问题非常简单,不喜勿喷,mark之希望可以给遇到相同问题的初学者一点帮助. 问题一:我要实现文件的异步上传,前端提交的文件后台老是获取不到. 我前端是这样写的: @using (Ajax.BeginForm("UpdateNewInfo", "Home", new AjaxOptions() { HttpMethod = "pos

这两款小程序,你春节一定用得上!wewx.cn[微信小程序商店]

当小程序正式发布的火爆期逐渐过去,我们是时候该思考一下,什么样的小程序才能保持长久的生命力?或者说,什么行业才适合做小程序? 在微信官方给出的案例中,旅游.出行将是未来小程序的重要领域.那么,这个行业的大公司有什么动作呢? 今天,我们就跟大家一起来看看,去哪儿推出的两款小程序,以及他们对小程序的定位和目标. 去哪儿做了什么小程序? 截至目前为止,去哪儿一共推出了两款小程序,「去哪个酒店」和「去哪儿出行」,分别满足用户「订酒店」和「订票」的需求. 「去哪儿酒店」和「去哪儿出行」已进驻wewx.cn

iOS分享到微信教程

1.在微信开放平台申请账号并创建移动应用 要分享内容到微信,必须得在 微信公众平台 注册一个帐号并且创建一个移动应用. 创建了移动应用还需要审核通过才可以,这一过程大概需要2-3天. 等不及马上想尝试?别着急,继续看下去,稍后我会讲如何在没有申请的情况下实现我们的功能. 2. 项目集成微信SDK 2.1 下载微信iOS SDK 前往 微信公众平台-资源中心 下载微信iOS SDK. 2.2 创建项目,加入SDK 打开XCode,创建一个Single View Application,命名为Wec

IOS版本-两个小球不停的绕中心旋转的进度条

转载请标明出处: http://blog.csdn.net/hanhailong726188/article/details/47375157 本文出自:海龙的博客 一.概述 昨天实现了一个Android版本的小清新动画,可以当成进度条来用,这里补上IOS版本的 二.效果图 三.实现原理 自定义UIView,然后添加两个CALayer,通过CAShapeLayer和UIBezierPath画出两个小圆球,动起来是通过CAAnimation动画,动画包括小球的位移动画.缩放动画.透明动画组合起来的

如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能

Cocos2d-x作为一款优秀的跨平台游戏引擎,已经被越来越多的开发者使用,而在游戏中使用分享组件能够有效的提供用户粘性,通过分享回流来提高APP安装量,但是目前市面上能够在Cocos2d-x环境下使用的分享插件并不多,开发者们只能自己对原生分享SDK进行封装来实现,前一段时间友盟推出Cocos2d-x分享组件,能够帮助开发者快速集成.友盟也把组件的源码放在GitHub上,有好的想法也可以直接在GitHub上修改(PS.在GitHub上提bug可以获得友盟的小奖品),同样也可以对源码进行学习,对

iOS开发过程中的小技巧

转载自:http://blog.csdn.net/a451493485/article/details/8598839 iphone程序中实现截屏的一种方法在iphone程序中实现截屏的一种方法: //导入头文件#import QuartzCore/QuartzCore.h//将整个self.view大小的图层形式创建一张图片image UIGraphicsBeginImageContext(self.view.bounds.size):[self.view.layer renderInCont

用两个小例子来解释单例模式中的“双重锁定”

学习单例模式时,好多人都不太理解双重锁定.学完后突然想到一个很有趣的例子. 单例模式结构图: 代码: Singleton类 class Singleton { private static Singleton instance; private static readonly object syncRoot = new object(); //程序运行时创建一个静态只读的进程辅助对象 private Singleton() { } //用private修饰构造方法,防止外界利用new创建此类实例