ios 运行时特征,动态改变控件字体大小

需求:ex: 在不同尺寸的iPhone上面显示的字体大小不一样

https://github.com/rentzsch/jrswizzle

#import <UIKit/UIKit.h>

@interface UILabel (Common)
- (void) swizzSetFont: (UIFont *) font;
@end

#import "UILabel+Common.h"

@implementation UILabel (Common)
-(void)swizzSetFont:(UIFont *)font {
    //添加对手机尺寸的判断(省略)
    if ([self isMemberOfClass:[UILabel class]]) { //条件判断,只修改UILabel, 并且字体大小为33的
          NSLog(@"font=%@",font);
        if (font == [UIFont systemFontOfSize:33]) {
            [self swizzSetFont:[UIFont systemFontOfSize:10]];
        }
  
NSError * error = nil;

    [UILabel jr_swizzleMethod:@selector(swizzSetFont:) withMethod:@selector(setFont:) error: &error];

    NSLog(@"error=%@",error);

  

时间: 2024-08-10 02:09:15

ios 运行时特征,动态改变控件字体大小的相关文章

WPF 中动态改变控件模板

在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面.控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能. 基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager. 假设现有两个不同的资源字典文件Dictionary1.xaml和Dictionary2.xaml存在于Themes文件夹内: 在MainPage中使用其中一个资源字典作为默认样式文件: <Win

android 动态改变控件位置和大小 .

动态改变控件位置的方法: setPadding()的方法更改布局位置. 如我要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(),  ImageView.getPaddingTop()+200, ImageView.getPaddingRight(),  ImageView.getPaddingBottom()); 动态改变控件大小的方法: 1.声明控件参数获取对象 LayoutParams lp: 2.获取控件

MFC中改变控件的大小和位置(zz)

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置. void MoveWindow(int x,int y,int nWidth,int nHeight); void MoveWindow(LPCRECT lpRect); 第一种用法需给出控件新的坐标和宽度.高度: 第二种用法给出存放位置的CRect对象: 例: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 );    //获取控件指针,IDC_EDIT1为控件

MFC中改变控件字体

在对话框的初始化函数中添加下段代码 static CFont Sfont; static CFont Bfont; //CFont font;//不加static 貌似改变不了字体大小 Sfont.CreatePointFont(200,"隶书"); Bfont.CreatePointFont(150,"宋体"); GetDlgItem(IDC_STATIC)->SetFont(&Sfont); GetDlgItem(IDC_BUTTON1)->

C# Winform控件字体大小自适应

using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace WGClient { class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public struct controlRect { public int Left; public int Top; public int Width; public int

iOS masonry动态约束控件位置

#import "FourViewController.h" #import "View+MASAdditions.h" #import "FiveViewControllerr.h" #define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self; #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width stati

C++ MFC 改变控件大小和位置

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置. void MoveWindow(int x,int y,int nWidth,int nHeight);void MoveWindow(LPCRECT lpRect);第一种用法需给出控件新的坐标和宽度.高度:第二种用法给出存放位置的CRect对象:例: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号 pWn

五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时

五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整个重绘这些FWinControl子控件.那么什么时候才整个重绘全部FWinControls呢?这时候,就不是一个单纯的WM_PAINT来解决控件重绘的问题了,而是这个TWinControl.UpdateShowing函数: procedure TWinControl.UpdateShowing; v

PDF创建及动态转换控件activePDF Server

activePDF Server控件可以方便而快捷的在您的企业应用程序或者Web应用程序中添加PDF创建及动态转换功能.支持多线程PDF产生,进行颜色管理,字体嵌入,安全设置等. 具体功能: 自动PDF转换 无论是采用COM或者.NET,您都可以方便得在您的应用程序中设置activePDF Server组件,并可以选择由activePDF动态生成的虚拟打印机.您无需担心在您的程序中无法选择打印机,您只需调用SetPrinterAsDefault方法便可以立即开启虚拟打印机生成PDF.只需一次性设