#自定义控件的内部子控件显示不正确可能的原因

一.实例--创建一个自定义Button

1. 新建一个自定义按钮继承于UIButton

  • 如果是用代码创建的的button则会调用initWithFrame
  • 如果使用xib创建的button则会调用awakFromNib
  • 此处以代码创建为例
  • 设置按钮的frame在layoutSubviews方法中

2. 实现initWithFrame

  • 使用alloc init 创建的按钮会调用initWithFrame进行按钮的初始化操作
  • initWithFrame方法一般用来创建子控件
  • 如果希望代码只执行一次,也应该在initWithFrame中进行设置
    • 如 设置背景色,背景图片,文字颜色,字体等

3. 实现layoutSubviews

  • 在initWithFrame中创建完子控件之后,在layoutSubviews中设置子控件的frame
  • layoutSubviews必须调用父类方法来调用系统设置frame的方法

4. 注意的问题

问题描述

  • 如果在layoutSubview中设置完自定义按钮的背景图片和按钮图片,却在程序运行的时候不显示背景图片和按钮图片,而且设置背景色能够正常显示

问题的解决

  • 一定要检查有没有调用父类方法[super layoutSubviews];

转载于:https://www.cnblogs.com/KrystalNa/p/4810449.html

控件内部显示不正确原因---没有调用layoutSubview的父类方法相关推荐

  1. 【C# 基础】— 解决 winForm 引用 Adobe PDF Reader控件不显示pdf 文件 问题

    前言 公司的CS 终端需要显示 PDF 文件 ,在换用了"Adobe PDF Reader" 这个控件后,运行程序不报错,窗体控件区显示一片空白,PDF 文件就是不显示,这是怎么回 ...

  2. C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题。

    C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题. (1)采用virtualmode,不要使用datagridview1.datas ...

  3. 在 Web 数据控件中显示二进制数据54

    简介 前面的教程中 , 我们介绍了将二进制数据与应用程序的基础数据模型相关联的两种方法 , 并使用FileUpload 控件从浏览器向 Web 服务器的文件系统上载.我们还将了解怎样将上载的二进制数据 ...

  4. 05_android入门_GET方式实现登陆(在控件上显示服务端返回的内容)

    当点击登陆之后,怎么把server端返回的数据,写到指定的控件上尼?,在android怎么实现尼?以下我们通过详细的代码进行分析和实现,希望能对你,在学习android知识上有所帮助. 以下通过代码说 ...

  5. qt designer Scroll Area控件不显示滚动条

    1.拖入Scroll Area控件 2.可以看到对象检查器中多出了两个对象:scrollArea和scrollAreaWidgetContents. scrollArea指的是scrollArea控件 ...

  6. C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上...

    转:/********************** * 课题:将窗体中鼠标所在控件名显示在窗体标题上  * 作者:ZAXX  * QQ : 94027486  * 本课题可简单扩展:获取屏幕上鼠标所在 ...

  7. 在RelativeLayout中对控件的显示隐藏操作问题

    2019独角兽企业重金招聘Python工程师标准>>> 通常我们通过java代码控制布局中,某个控件的显示与隐藏会用: progressBar_video_format.setVis ...

  8. 遍历WinForm窗体 根据语言类型设置其控件Text显示

    示例内容: Form1 中 有一个Label1     中文时显示 " 姓名:"     英文时显示 " Name: "     开发时 默认显示为 " ...

  9. javascript控制页面控件隐藏显示的两种方法

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: document.all<"PanelSMS">.styl ...

  10. [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹

    原文 张丹-小桥流水,C#2010 在TreeView控件下显示路径下所有文件和文件夹 C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考. 本文主要介绍两个自定 ...

最新文章

  1. R语言可视化包ggplot2绘制分组回归线实战(Regression Line by Group)
  2. 二十六、redis哨兵模式
  3. mybatis不使用动态代理查询时设计与实现
  4. 个人阅读作业Week7
  5. 请分析比较下列四种染料在相同浓度和相同温度的水染液中的聚集度大小?
  6. html加密文档如何打开,Word文档加密打不开怎么办?
  7. mysql转达梦7_从mysql换成达梦7后,查询语句报错,这个是druid的问题吗
  8. IO流 (三) ----- 字符流和字符缓冲流
  9. java 将bean转化为map,将javabean转化为map对象
  10. \opencv\build\x86下的vc6、vc7、vc8、vc9、vc10、vc11、vc12、vc14、vc15是什么意思?
  11. 易语言 html替换,易语言教程文本替换和子文本替换
  12. opencv python 人脸识别 相似度_Python学习:基于Opencv来快速实现人脸识别(完整版)...
  13. 计算机操作系统版本号怎么查看,Windows系统版本怎么看?2种查看windows版本的方法介绍...
  14. xp计算机连接不上网络打印机驱动,XP系统下如何设置连接网络打印机?
  15. linux系统截图有快捷键吗,Linux下用快捷键截图
  16. “弹出DVD驱动器错误”解决方法
  17. VB对IE浏览器完全控制
  18. 是什么引发了我对知识的渴望
  19. 连接git仓库失败解决办法
  20. 个人永久性免费-Excel催化剂功能第41波-文件文件夹相关函数

热门文章

  1. centof7无法上网问题
  2. MySQL实现SQL Server排名函数
  3. java_if_else__的应用1
  4. 搭建本地LNMP开发环境(6)-配置nginx和PHP
  5. caffe源代码分析--math_functions.cu代码研究
  6. Office 2007 打开故障 The setup controller has encountered a problem during instll
  7. 20款免费公司企业wordpress主题
  8. R语言自然语言处理:中文分词
  9. 长假漫漫,不学门可视化图表课程提高下逼格?
  10. java编程艺术 高永强_Shardingsphere can not initialize xaTransaction问题