首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

swift 4-为什么UIButton在被要求移动的时候不移动?

Swift是一种流行的编程语言,用于iOS、macOS、watchOS和tvOS应用程序的开发。Swift 4是Swift语言的一个版本,它引入了许多新功能和改进。

UIButton是UIKit框架中的一个类,用于创建和管理按钮。当要求移动UIButton时,它通常不会自动移动,这是因为UIButton的frame属性通常用于指定按钮在父视图中的位置和大小。如果要移动UIButton,可以通过修改其frame属性来实现。

以下是UIButton在被要求移动时不移动的可能原因:

  1. 错误的frame设置:如果UIButton的frame属性不正确设置,例如位置或大小不正确,它可能不会移动到预期的位置。确保frame属性正确设置,以便按钮能够正确移动。
  2. 约束限制:如果UIButton使用了自动布局约束,可能存在约束限制导致按钮无法移动。检查按钮的约束设置,确保没有限制按钮的位置或大小。
  3. 父视图限制:如果UIButton的父视图存在限制,例如父视图的边界或布局限制,按钮可能无法移动。确保父视图没有限制按钮的位置或大小。
  4. 用户交互限制:如果UIButton的userInteractionEnabled属性设置为false,按钮将无法响应用户的交互事件,包括移动。确保userInteractionEnabled属性设置为true,以便按钮能够移动。

总结起来,要使UIButton在被要求移动时能够正确移动,需要确保正确设置按钮的frame属性、检查约束设置、确保父视图没有限制按钮的位置或大小,并确保userInteractionEnabled属性设置为true。

腾讯云提供了丰富的云计算产品和服务,其中与移动开发相关的产品包括移动应用开发平台、移动推送服务、移动测试服务等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift-MVVM 简单演练(三)

Swift-MVVM 简单演练(一) Swift-MVVM 简单演练(二) Swift-MVVM 简单演练(四) 优化一些小细节 设置SVProgressHUD最小提示时间 在我们用SVProgressHUD...,如果有网络请求时候,会在状态栏位置有一个Loading很小标志,这是苹果自带标志,其实我们应该把它在应该显示时候显示出来。...如果网速很快时候,即使是设置了这个,一般也是看不到。但是网速不好时候,它就起作用了。...虽然我心里也一直纳闷,为什么会是一半距离!就在我百思不得其解时候,我不小心点击了一下按钮。结果又是令我非常意外 仔细看,箭头图片在文字中央位置,再多次点击的话,都是在这个位置切换图片。...于是我就想到了,如果设置偏移量是各个宽度一半的话,最开始显示虽然有问题,但是是不是,点击就正常了呢。果不其然。

2.5K30

声明式 UIKit 在有赞美业实践

作者:王俊仁 部门:美业移动 一、背景 随着 Flutter 出现,UI 开发形式也越来越趋向相同,Flutter,SwiftUI,RN,Weex 等新兴UI框架无一意外都使用了声明式 UI 开发模式...在 iOS 布局方式里,除了极少数或者对性能要求极高地方会用 frame 进行直接计算赋值外,大多数情况下是使用到 UIKit 提供 Autolayout 进行布局。...然而有赞美业是有赞最早迁移到 Swift 项目,迁移 Swift代码,对 C++ 兼容其实有一定局限性,若过多使用 C++,在代码中也不能体现 Swift 优雅性。...UIView |-- UILabel |-- UIButton 同时 View 之间没有相互联系,移植性高。 为什么不通过描述对象方式来声明而采用直接使用 View 进行声明呢?...从上面代码来看,View 完全可以在声明期间操作,之后可以持有任何 view,通过父 View subviews 进行持有管理,从而确保整个 view 树在一个根节点下挂载。

1.4K30
  • iOS工程师必看 20 道 面试题

    以scheduledTimerWithTimeInterval方式触发timer,在滑动页面上列表时,timer会暂停,为什么?该如何解决?...唯一不同是,对象在释放后,依然有一个无效引用指向对象,它不是 Optional 也指向 nil。如果继续访问该对象,程序就会崩溃。...说说Swift为什么将String,Array,Dictionary设计成值类型? 要解答这个问题,就要和Objective-C中相同数据结构设计进行比较。...值类型相比引用类型,最大优势在于内存使用高效。值类型在栈上操作,引用类型在堆上操作。栈上操作仅仅是单个指针上下移动,而堆上操作则牵涉到合并、移位、重新链接等。...实现一个自定义UIButton类,在其中添加点击抖动效果方法(shake方法) 写一个UIButton或者UIView拓展(extension),然后在其中增加shake方法 定义一个protocol

    3.7K40

    iOS 面试策略之经验之谈-面向协议编程

    优点被无数程序员称颂,它解决了诸多开发中大小问题。那么问题来了,既然 OOP 如此万能,为什么 Swift 要弄出全新 POP ? [1240] 笔者认为,原因有三。...在 Swift 中,不同 class 即使命名相同,在不同 bundle 中由于命名空间不同,它们依然可以和谐共存毫无冲突。这在 App 很大、bundle 很多时候特别有用。...这样我们可以保证在破坏原来代码封装情况下实现新功能。Objective-C 中,我们可以用 category 来实现类似功能。...实现一个自定义 UIButton 类,在其中添加点击抖动效果方法(shake 方法); 写一个 UIButton 或者 UIView 拓展(extension),然后在其中增加 shake 方法;...Xcode 会提示,Cat 和 Dog 没有服从 Animal 协议,因为协议中要求 food 必须是 Food,不能是 Bone 或者 Fish ,同理 greet 也是同样要求

    1.3K20

    iOS 面试策略之算法基础1-3节

    总结 在 Swift 中,数组、字符串、集合以及字典是最基本数据结构,但是围绕这些数据结构问题层出穷。...给一个链表和一个值 x,要求将链表中所有小于 x 值放到左边,所有大于等于 x 值放到右边。原链表节点顺序不能变。例:1->5->3->2->4->2,给定x = 3。...我们不妨把这个题目先变简单一点: 给一个链表和一个值 x,要求只保留链表中所有小于 x 值,原链表节点顺序不能变。 例:1->5->3->2->4->2,给定x = 3。...例:1->2->3->4->5,n = 2。返回1->2->3->5。 注意:给定 n 长度小于等于链表长度。 解题思路依然是快行指针,这次两个指针移动速度相同。...你可以理解成有好几个盘子要垒成一叠,哪个盘子最后叠上去,下次使用时候它就最先被抽出去。

    1.6K30

    实现更安全、高扩展自定义键盘 非UIButton

    自定义键盘原因 自定义键盘封装网上例子比比皆是,有的封装非常完美,直接pod 集成到项目中便可以简单使用,可是为什么我还要自定义一个呢?...为什么说不够安全 用过 Reveal 同学都知道,可以抓到任何 UI 控件,并且完美的展示各个视图层级。...,官方键盘在安全性方面是相当高 自定义键盘 参考官方键盘,写出了自己自定义键盘,也是底层图片实现,监控触摸事件 没有安全只有更安全,这里自定义键盘只是相对于 UIButton 堆积起来键盘,.../** 本库主要是为了实现一个自定义键盘 所有的按键均是图片组成,最大程度上避免了恶意监控控件(UIButton,UILabel)等,防止获取键盘内容 所有的事件均通过手指(触摸)移动,来控制按键变化...身份证号键盘 源码在 我github 上 【注】请使用 Swift 3 运行

    77120

    Swift| 基础语法(五)

    前言 总结下 swift基础语法,里面涉及到:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...、UIButton、UIImageView使用 UITableView使用 UITableView使用 单例 从相册选择照片或者拍照 ---- 一、纯代码创建应用根试图 func application...} 在Swift中,创建tableViewCell方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView时候直接注册cell: myTb?....因为在Swift中,所有对象构造器默认都是public,所以需要重写你init让其成为私有的。 这样就保证像如下代码编译报错,不能通过。 六、从相册选择照片或者拍照 ?

    2K30

    译文-MVVM系列-RxSwift简介及Reactive Programming可以做事情

    所以这里不打算再写一篇教程去解释streams和observables原理。我想提供一个简单、清晰、涉及理论知识总结,介绍用RxSwift可以做什么,以及为什么要用RxSwift。...在non-reactive app中,你需要在view controlelr中添加UITextFieldDelegate协议,并实现textFiledDidEndEding方法监测用户什么时候输入完他们名字...如果客户要求label要和text field输入保持同步更新呢? 在reactive中,此类需求可以用data binding来实现。...如果你用是storyboards,在创建@IBAction时候就会看到.touchUpInside。在这个例子中,不需要考虑按钮点击事件。...我曾经写过关于为什么我从来不用storyboards,如果你和我一样(不用storyboard),下面代码看起来就会非常熟悉: var button = UIButton() override func

    1.6K20

    Swift 基本语法01-Swift简介

    只有闭包时候才去用 取消了预编译指令 自动推导:变量/常量类型会根据=(等号)右侧代码执行结果,推导对应类型 Swift 中对类型要求异常严格,不允许直接运算(不会做默认隐式转换,所有的类型确定...中Int(y)->结构体构造函数 Swift 中,不存在基本数据类型,都是结构体(考虑安全性和速度,统一做了语法调整) 1....Button 创建 // 创建按钮 let btn = UIButton(type: .contactAdd) view.addSubview(btn) btn.center = view.center...btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside) // 按钮点击事件 func clickMe(btn:UIButton...可选项(Optional) Optional是 Swift一大特色,也是Swift初学者最容易困惑问题 定义变量时,如果指定是可选,表示该变量可以有一个指定类型值,也可以是 nil 定义变量时

    2K70

    在这个行当,不做程序员也得懂技术

    先来捋一捋思路,关于各个岗位合作打造(移动端)产品一点想法: 为什么只有程序员是不够 如何做一个好非程序员 声明: 本人是程序员,截止到目前,我用设计都是自己设计,我用产品策略都是自己思考...为什么只有程序员是不够 首先要消除一下歧义,我们见过无数一人独挑大梁完爆数十人团队例子,所以事实证明,只有一个程序员,某些时候是足够。...即便是在移动端出现之前,大家在 PC 上用软件,也是需要有人来做设计,有人来思考产品。...去年 8 月份我做了自己第一款在 App Store 上架 App,花了 12 天,2000 行 Swift。...提供里面的 Image 资源就可以了,告诉客户端开发程序员阴影模糊几像素、向右偏移几像素、向下偏移几像素是极其专业行为。

    48020

    RN集成到现有原生应用-swift

    如果你使用多个第三方依赖,可能这些第三方各自要求 react 版本有所冲突,此时应优先满足react-native所需要react版本。其他第三方能用则用,不能用则只能考虑选择其他库。...所有 JavaScript 依赖模块都会被安装到项目根目录下node_modules/目录中(这个目录我们原则上不复制、不移动、不修改、上传,随用随装)。...把node_modules/目录记录到.gitignore文件中(即上传到版本控制系统,只保留在本地)。...调整后Podfile内容看起来类似下面这样,下面是原生项目podfile必须添加: source 'https://github.com/CocoaPods/Specs.git' # 对于Swift...# target名字一般与你项目名字相同 target 'swift-2048' do # 'node_modules'目录一般位于根目录中 # 但是如果你结构不同,那你就要根据实际路径修改下面的

    1.9K20

    记录下UIButton图文妙用和子控件优先显示

    1、当在某个地方既需要显示图片,还需要显示文字,另外还要有点击功能时候,这时按钮是个很好选择。   按钮中图片和文字距离可以自由调整,图片也可以上下左右翻转。...按钮图文设置、图文位置移动、按钮中图片翻转示例代码: /** 测试图文并茂按钮,图文移动 */ - (void)addMoveImgAndTextButton{ //1、创建一个按钮:30x50...但是有时候,产品要求显示按钮左右必须是圆形,这时候虽然可以让ui切个适配图片做背景,其实针对如果是背景图片是纯色的话,我们可以利用 控件layer.masksToBounds, 和layer.cornerRadius...[self addMoveImgAndTextButton]; //添加图文并茂按钮,测试按钮上图文移动 [self addBackgroundImgButton]; //添加设置背景图片按钮...[self testSubControlShowFront]; //测试子控件优先或置后显示 } /** 测试图文并茂按钮,图文移动 */ - (void)addMoveImgAndTextButton

    1.7K30

    如果程序员是士兵,编程语言是武器,那么每种语言都是什么武器?

    ,如果不要求优雅的话。...如果你有更好选择,那么为什么要使用它呢? ? Objective-C是没有力量光剑。有几分类似于C,但似乎更有一点风格,和一些额外功能。...你现在可以偏转爆破,移动对象,而触摸它们,直接吓唬敌人投降和敬畏。...为了打倒那些更有经验敌人,现在你可能需要使用另一个武器(因为Go仍然在被排挤,并正在开发社区和支持基地,以便于成为被选择武器,尽管这似乎发生得很快)。...当它击中目标的时候非常满足,并散发力量,但有时会痛苦地缓慢机动飞行。(关于Ruby有很多吸引人特点,但最大批评是,当建立大规模时,它还没有匹配一些其他替代选项性能)。 ?

    66730

    你知道在iOS开发工作中为什么有人4k有人40k吗?

    丨iOS开发更新换代   移动开发真正火起来其实就是最近这三年,iOS 开发技术因为发展也就才这么几年,所以值得做事情还有很多,这就造成了每年苹果 WWDC 都会推出一堆新特性和 API。...多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考过程中,我们就会慢慢积累出一类问题 “最佳实践” 方式,成为自己宝贵经验。   ...多去了解,不会被别人当小白,学多少都是自己,至于在你去学习时候,有人会说风言风语,这就是区别,他们活该初级,自己不会东西,也看不惯别人去学习。...UI控件的话,常用有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉这些控件属性和相关操作方法。   ...多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考过程中,我们就会慢慢积累出一类问题 “最佳实践” 方式,成为自己宝贵经验。

    2.8K90

    iOS开发之三个Button实现图片无限轮播(参考手机淘宝,Swift版)

    这两天使用Reveal工具查看"手机淘宝"AppUI层次时,发现其图片轮播使用了三个UIButton复用来实现图片循环无缝滚动。...今天博客完全是个人兴趣爱好,也不是公司中项目要使用缘故才去实现。就是看到了淘宝中轮播图,从UI层级上感觉这样可以实现,于是乎就打开Xcode,创建个Swift工程实现一把,过程还是蛮愉快。...当然这不是我们今天重点,我们将目光转移到左边红框中数学层级上。可以明显看出UIScrollView上贴了三个UIButton,而每个UIButton上又贴了一个UIImageView。...如果用户想右滑动显示第二张图片(对应着下方第一步),当第二张图片已经完全显示出来后,我们要做第一件事情就是将用户移动位置进行复位,也就是将第二个Button移动到显示位置,然后设置按钮上显示相应图片...没有这个方法,图片就动起来了,具体代码如下所示: ?

    2.2K80

    Swift-MVVM 简单演练(一)

    Swift-MVVM 简单演练(二) Swift-MVVM 简单演练(三) Swift-MVVM 简单演练(四) 前言 最近在学习swift和MVVM架构模式,目的只是将自己学习笔记记录下来,方便自己日后查找...本来打算一篇全部搞定,但是简书每篇文章只能写大约超过15000字内容,因此只能分开写了。 如果有任何问题,欢迎和我一起讨论。当然如果有什么存在问题,欢迎批评指正,我会积极改造!...,给中间留出一个+按钮位置 自定义一个UIButton分类HQButton+Extension,封装快速创建自定义按钮方法 HQButton.swift extension UIButton {.../ErrorType.swift, line 182 虽然会将错误信息完整打印出来,但是程序崩溃对于用户来说是很不友好,因此建议。...,类就需要继承自NSObject 如果类只是包装一些代码逻辑(写了一些函数),可以不用继承任何父类,好处: 更加轻量级 HQStatusListViewModel.swift继承任何父类 /// 微博数据列表视图模型

    10.3K51

    iOS初来乍到,你如何开始第一个封装类?

    那么,自然当滑动滑块或者点击左右按钮后,滑块应该是左右移动移动完成可能需要调用一个方法来做别的事情,移动过程中可能还需要一个动画。 分析完成,我们需要想着如何构造这个代码。...入口方式很多,有工厂方法、自定义实例方法、系统init、initWithFrame方法...这里我们选用initWithFrame。为什么选这个?因为我们需要随意设定这个控件位置。...1.滑块移动 2.公开点击事件 由于滑动后事件也需要公开,那么我们就统一放一起吧,这里先处理点击时滑块移动。 哦,这里恐怕不得不先说说这个公开属性问题了。...好了,我们接着做点击事件滑块移动吧!...,你完全可以写,但是我认为那可能并不优雅)。

    1.1K40
    领券