如何根据 iPhone 中的文本大小动态增加按钮宽度?

2024-03-26

我以编程方式创建了 10 个按钮,并在按钮中设置了标题。现在我想动态增加按钮框架大小,它取决于文本。

我给出了一些条件并设置了框架大小。但我如何设置确切的帧大小取决于文本(动态获取文本)。

我的示例代码是,

     float x=0, y=0, w, h=20;

    for(int i = 100; i < 110; i++)
     {
         btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];

         UIImage * img = [UIImage imageNamed:@"Round_Rect4.png"];

        [btn setBackgroundImage:img forState:UIControlStateSelected];

        titleString = [titleArray objectAtIndex:i-100];  // get button title

        if([titleString length] <= 5)
        {
            w = 50;
            btn.frame = CGRectMake(x,y,w,h); 

            x = x + 70;
        }

        if (([titleString length] >= 6) && ([titleString length] <=10))
       {
             w = 70;

             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 90;
       } 

       if(([titleString length] >= 11) && ([titleString length] <=15))
       {
             w = 105;
             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 120;

       }

       if([titleString length] >= 16)
       {
             w = 120;
             btn.frame = CGRectMake(x,y,w,h); 

             x = x + 140;

       }

        [btn setTitle:titleString forState: UIControlStateNormal];

        [btn setTag:i];

        [self.view addSubview:btn];

}

请参阅示例图像,

图片2 http://www.freeimagehosting.net/uploads/b6e0f234dc.png http://www.freeimagehosting.net/uploads/b6e0f234dc.png 图片 1 http://www.freeimagehosting.net/uploads/6b3daab12f.png http://www.freeimagehosting.net/uploads/6b3daab12f.png

那么,是否可以根据文本设置确切的按钮框架大小?请指导我。

Thanks


[btn sizeToFit]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据 iPhone 中的文本大小动态增加按钮宽度? 的相关文章

  • Objective C 中如何对数组进行排序? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 iPhone 中对包含数字作为字符串的数组进行排序 https stackoverflow com questions 6097119 how to sort array having num
  • 从不同的类访问 NSMutableArray

    我有一个类 其中形成了 NSMutableArray 对象 如下所示 navBarColour NSMutableArray alloc initWithObjects colourOfNavBar nil 然后我有另一个类 其中正确添加了
  • 计算MKPolyline路径的距离?

    我想获取 MKPolyline 路径的米数 以便我可以告诉用户完成路径还剩多少米 我一直在寻找一些东西来做这件事 但我什么也没得到 Thanks 尽管听起来很乏味 但除非您想自己进行数学计算 否则您可能必须迭代该行的思想points 将每个
  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • 推送通知发送成功,但设备收不到(偶尔)

    从昨天开始 我一直遇到一些设备无法收到推送通知的问题 证书 设备令牌似乎是正确的 直到昨天 该设备才能成功接收推送通知 在服务器端 没有错误或连接拒绝 并且推送通知似乎每次都成功发送 但仍然有很多情况下设备无法正确接收推送 一些周边信息 我
  • “试图弹出到不存在的视图控制器。”

    当我调用我的方法 DismissView 时 我收到此错误 这是方法存根 IBAction dismissView RootViewController rootController RootViewController alloc ini
  • 如何在ios中重置触摸、触摸移动的NSTimer

    我正在开发一个应用程序 其中我必须在 3 秒后隐藏控制按钮 所以我使用 NSTimer 编写代码 然后开始触摸 它可以工作 但问题是 当我再次触摸任何其他按钮时 我的计时器不会重置 即使我像拖动一样移动我的触摸示例 如果我拖动或移动触摸 它
  • iPhone:AVAudioPlayer 不支持的文件类型

    我的应用程序从我们的服务器下载 mp3 并将其播放给用户 该文件为 64 kbps 如果我理解正确的话 这完全在 iPhone 的可接受范围内 我在几十个网站上查找了如何执行此操作 他们都建议我这样做 NSData data NSData
  • iPhone UIDatePicker 风格

    有什么方法 技巧可以更改 uiDatePicker 的大小 字体 背景颜色等吗 甚至背景颜色属性也不起作用 并且选择器的默认样式与我的应用程序的设计无关 也许你可以使用 UIPickerView 来代替 我见过人们使用图像作为背景 不过 您
  • iPhone 4 移动网络应用程序像素缩放问题

    我无法让我的移动 Web 应用程序在 iPhone 4 上正确呈现 根据 Wikipedia iPhone 4 的像素为 960 宽 x 680 高度 而其他 iPhone 的像素为 480 宽 x 340 像素 在我当前的构建中 图像和
  • VoiceOver 的 UISlider 可访问性特征?

    使 UISlider 在启用 VoiceOver 的情况下可用所需的正确 UIAccessibility 特征和处理程序是什么 是否有关于用户如何使用启用 VoiceOver 的 UISlider 的描述 以下是我最终添加到 UISlide
  • UIWebView 是否在请求标头中发送与移动 Safari 相同的用户代理?

    抱歉 我只想自己测试一下 但我目前没有 Mac UIWebView 内部发出的 Web 请求是否发送与移动 Safari 发出的 Web 请求相同的用户代理信息 从 UIWebView 发出的 Web 请求不会在用户代理字符串中包含单词 S
  • Android 动态添加联系表单

    Hi 我想实现如图所示的表单 不知道他们如何动态添加字段 这是列表视图吗 可扩展列表 用户可以在运行时添加和删除 我已经检查了包含子项目的可扩展列表 但我们在数组中定义子元素 在图像中它们动态添加 任何指南 链接 Thanks Custom
  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • iPhone NSDateFormatter 时区转换

    我正在尝试创建一个格式化程序 将显示的日期格式转换为 NSDate 对象 NSString dateStr 2010 06 21T19 00 00 05 00 NSDateFormatter dateFormat NSDateFormatt
  • Xcode 4 自动完成错误

    您是否还面临 Xcode 4 自动完成功能的问题 该功能过去在 3 x x 版本上运行良好 我已经在 Prefix 中导入了一些类 但 Xcode 不想帮助我输入代码 我必须手动添加上面的 implementation 导入 myclass
  • 自定义键盘 iphone,UITextView 中的退格按钮有问题

    检查此代码 我的自定义键盘 IBAction updateTextBackSpace id sender if txtview text length gt 0 NSString deletedLastCharString txtview
  • 在 IOS 应用程序中遇到奇怪的错误:“DOMException 105”。寻找有关如何定位代码中的错误的指导

    无法在任何地方找到任何对此错误的引用 它每次都会发生在同一点 就像我单击 UITableView 行元素一样 下面是堆栈跟踪 有人可以提供有关问题可能是什么和 或如何找到错误的任何建议吗 谢谢你 2016 11 04 10 12 56 09
  • 如何在iPhone上绘制“对话气泡”?

    当您右键单击扩展坞中的某个内容时 我试图获得类似于 Mac OS X 中的 语音气泡 效果 这是我现在所拥有的 我需要得到下部的 三角形 部分 有什么办法可以画出这样的东西并在它周围加上边框吗 这将是为了iPhone app 提前致谢 ED
  • 如何在 iOS 中使用 Dropbox API 用父版本覆盖文件?

    我正在使用 Dropbox API 开发 iOS 应用程序 使用 dropbox API 上传文件时 我只想覆盖同名的现有文件 如何设置父转速以及什么值 谢谢 获取目录中的所有文件 self restclient loadMetadata

随机推荐

  • 如何制作Maven项目的“胖罐子”? [复制]

    这个问题在这里已经有答案了 使用 IntelliJ 我刚刚创建了一个新的 Maven 项目并将以下内容添加到 pom 文件中http undertow io downloads html http undertow io downloads
  • 我应该在 FluentValidation 中创建一个新的集合类型吗?

    我试图找到 FluentValidation 中是否有可用的方法 允许在根级别验证集合的验证器 例如如下所示 验证器可用于CustomerValidator为一堂课Customer 使用 FluentValidation public cl
  • 使用配置文件并行执行 FirefoxDriver 测试共享相同的配置文件副本

    一段时间以来 我们一直在使用 FirefoxDriver 执行一组基于 WebDriver 2 25 0 的自动化测试 测试由基于 Maven 3 0 的构建及其 FailSafe 插件并行执行 四核机器上每个核心 2 个线程 每个测试都有
  • 获取标签内的所有节点

    我有这样的代码 div Lorem ipsum dolor sit amet p This is a paragraph p br span This is a span span Lorem ipsum dolor sit amet di
  • 当应用程序处于信息亭模式时拨打电话

    我们正在开发一款 Android 应用程序 旨在取代默认的 Android 拨号器并自行处理设备中正在进行的所有呼叫 到目前为止 该应用程序按预期工作 我们可以通过启动来处理来电和拨打电话ACTION CALL意图 但是 此应用程序旨在通过
  • JQuery 从提交函数内部提交表单

    以下是我想在 JQuery 脚本中执行的操作 在下面的提交函数 第 4 个 中 我想确定表单是否有文件输入并使用 ajax 提交 或者只是不使用 ajax 的常规表单提交 换句话说 如果表单已上传 则进行常规提交 我在下面的提交功能中写了这
  • 从 JSON 对象中删除键值对

    我下面有这个 JSON 对象 XXX 2 YYY 3 ZZZ 4 XXX 5 YYY 6 ZZZ 7 XXX 1 YYY 2 ZZZ 3 我想从 json 对象中删除 YYY 键值 以便新的 json 对象如下所示 XXX 2 ZZZ 4
  • 如何解决违反迪米特法则的问题?

    我和一位同事为我们的客户设计了一个系统 我们认为我们创建了一个漂亮简洁的设计 但我对我们引入的一些耦合遇到了问题 我可以尝试创建一个示例设计 其中包含与我们的设计相同的问题 但如果您原谅我 我将创建我们设计的摘录来支持该问题 我们正在开发一
  • 如何在 React 中触发函数之前等待 setState 完成?

    这是我的情况 在 this handleFormSubmit 上我正在执行 this setState 在 this handleFormSubmit 内部 我调用 this findRoutes 这取决于 this setState 的成
  • 找不到使用 System.Web.UI.HtmlControls 命名空间

    我尝试了各种使用方法System Web UI HtmlControls 但我没有找到任何参考 我如何使用该命名空间 转到项目的参考文献并确保 System Web 位于其中 如果没有 右键单击 添加引用 NET 然后添加 System W
  • Sublime Text 2 插件可按字母顺序对函数进行排序

    我正在我的应用程序中构建许多函数 现在我想按字母顺序排列它们 Sublime Text 2 中是否有任何函数可以自动执行此操作 应该改变这些 public function login 1 public function about pub
  • Jersey 2:过滤器和@Context注入

    我有以下问题 ContainerRequestFilter 是一个单例 但是阅读以下内容 Jaxrs 2 0 Oracle 规范 http download oracle com otn pub jcp jaxrs 2 0 fr eval
  • 使用 XDocument 加载编码为 UTF 16 的 xml

    我正在尝试使用 XDocument 方法读取 xml 文档 但当 xml 有时我收到错误 当我手动删除编码时 它工作得很好 我收到错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 我尝试搜索并找到了这里 gt 为什么包含
  • 更新ImageField时如何删除旧图像?

    我正在使用 Django 创建一个库存照片网站 我的模型中有一个 ImageField 问题是当用户更新图像字段时 原始图像文件不会从硬盘中删除 更新后如何删除旧图像 Use Django 清理 https github com un1t
  • AF_UNIX 相当于 Windows [重复]

    这个问题在这里已经有答案了 我想知道如何在 Windows 上使用类似于 Unix Domain Socket 的功能 行为是 一个进程将成为 服务器 并接收来自其他进程的连接 并且它可以保留和使用来自不同进程的连接 就像 TCP 套接字一
  • Intellij - 如何制作一个可以通过 CLI 或 Web 服务执行 IDE 操作的插件?

    我需要一些帮助来开始制作特定的 IntelliJ 插件 我想制作一个 IntelliJ 插件 这样您就可以从 CLI 或者从 Web 服务 如果更容易的话 启动 IntelliJ 操作 例如 我已经用 gradle 脚本构建了我的项目 但我
  • 顶点缓冲区对象(删除过程)opengl

    我什么时候应该调用 glDeleteBuffersARB 我应该在申请结束后做吗 我可以以某种方式自动化删除顶点缓冲区对象的过程吗 例如 smart ptr 之类的东西 绝不 你永远不应该打电话glDeleteBuffersARB 十多年来
  • 在 .NET 中使用 FB Connect / Google OAuth 登录

    我希望允许我的用户使用我的登录系统 FB Connect 或 Google Login 登录我的网站 我不想仅使用大型库 如 dotnetOpenAuth 来实现这两个选项 那么我应该如何实现这一点 其他问题 我应该如何将 FB Googl
  • ALLOWED_HOSTS 和 Django

    我尝试在生产服务器上启动 Django 1 11 项目 当我启动应用程序时 我看到以下错误 无效的 HTTP HOST 标头 bla bla bla bla bla vla com 您可能需要将 u bla bla bla bla bla
  • 如何根据 iPhone 中的文本大小动态增加按钮宽度?

    我以编程方式创建了 10 个按钮 并在按钮中设置了标题 现在我想动态增加按钮框架大小 它取决于文本 我给出了一些条件并设置了框架大小 但我如何设置确切的帧大小取决于文本 动态获取文本 我的示例代码是 float x 0 y 0 w h 20