结合 "自动布局 "绘制分隔线
我是某种UISplitViewController的重新实现.现在,我需要在主和细节视图之间绘制一个分离器线.现在我有一些问题: 分离器线应该在视图控制器本身上,还是应该是单独的视图? 自动布局呢?不允许设置框架. 我看到了CALayer/CAShapeLayer,drawRect(CoreGraphics)的解决方案,或使用UIView/UILabel的背景颜色.根据那里的人们,最后一个应该花费太多的表现. 在一侧绘制UITableViewController本身的线很舒服.还是应该创建单独的UIView?如果我嵌入一个单独的UIView会有更多的约束,并且会使事物复杂化(必须设置单独的宽度)...此外,它也应适应方向更改(例如,UITableViewController的大小更改 - >分离线也应调整大小). 如何添加这样的分隔规则?这样的分裂规则可以在这里看到: 解决方案 如果您需要添加 true One Pixel Line ,请不要愚弄图像.这
2 2024-04-02
编程技术问答社区
如何解决。这个应用程序正在从后台线程中修改自动布局引擎
当代码的某些部分从其他线程更改UI项目时,此错误将记录到控制台.但是我怎么能找到它在哪里? 解决方案 "此应用程序正在从背景线程中修改自动层引擎"的主要问题是,在实际问题发生后很长一段时间以来,它似乎已记录了,这可能会使很难进行故障排除. 我通过创建三个符号断点来解决问题. 调试>断点>创建符号断点... 断点1: 符号:-[UIView setNeedsLayout] 条件:!(BOOL)[NSThread isMainThread] 断点2: 符号:-[UIView layoutIfNeeded] 条件:!(BOOL)[NSThread isMainThread] 断点3: 符号:-[UIView updateConstraintsIfNeeded] 条件:!(BOOL)[NSThread isMainThread] 使用这些断点,您可以轻松地在不正确地调用非墨包括线程的UI方法的实际线路上休息.
0 2024-03-27
编程技术问答社区
旋转时自动布局视图到全屏
我正在写一个视频播放应用程序.该应用在肖像模式下观看视频下方的应用程序的信息,但是当应用程序转向景观时,我希望视频全屏.不幸的是,当应用程序转向景观时,底部视图将视频视图从顶部扩展到底部,即使我将高度约束转换为优先级==1. . 肖像模式: 景观模式: 我尝试隐藏较低的视图,但是当我显示旋转回到肖像的视图时,这会使整个布局陷入困境,因为隐藏视图破坏了与视图相关的约束. 有没有一种方法可以使单个视图轻松占用整个屏幕,然后通过自动布局轻松地恢复到事物的方式? 谢谢. 解决方案 是的,有一种简单的方法,但是您需要进行一些数学.您可以使用乘数和恒定属性将视频视图的高度与Superview相关联.您可以有两个方程式定义所需内容,并为变量解决.例如,假设您希望自己的身高在肖像(568点高屏幕上)和景观中的全高320.这为您提供了这两个方程式(用文字,方程式说:"我希望我的身高达到自我. 225 = 568m +常数和320 = 320m +常数 如果您求解
2 2024-03-21
编程技术问答社区
在exportAsynchronouslyWithCompletionHandler中创建AVPlayer时,在看到视频之前有很长的延迟。
播放从AVAssetExportSession导出的视频时,您会在看到视频之前很久就会听到音频.音频会立即播放,但是视频仅在录制循环后出现多次(即开始和结束).换句话说,您在看到任何图像之前多次听到视频的音频. 我们在iOS 8上使用自动层. 使用以下测试,我们将问题分离为exportAsynchronouslyWithCompletionHandler.在两个代码块中,我们都播放一个现有视频 - 与导出有关的视频 - 因此已将导出过程作为变量消除. 代码1 在开始时播放视频和音频,而代码2 仅在开始时播放音频,并在延迟10-60秒后显示视频(之后视频循环几次). 两个代码块之间的唯一区别是一个用途exportAsynchronouslyWithCompletionHandler播放视频,而另一个则没有. 帮助吗?音频是否有可能首先导出并准备在视频前播放?与其他线程上发生的导出有关? func initPlayer(videoURL: NSURL) {
4 2024-03-21
编程技术问答社区
AutoLayout: removeFromSuperview / removeConstraints抛出异常并严重崩溃
我们选择性地使用自动布局约束,主要用于定位与可编辑字段元素有关的标签(uitextview,uitextfield,通常是).但是,由于针对这些字段实施自动布局,因此每当我们卸载视图,交易等等时,我们都会看到一个令人讨厌的例外. P> 我们的视图/控制器层次结构就是这样: UITableViewController (plain style, but with cell appearance to mimic grouped style) --> UITableViewCell ----> UIViewController (container for editable form) ------> UICollectionViewController (editable form) --------> UICollectionViewCell -----------> UIViewController (editable field) --------------> UILabe
0 2024-03-21
编程技术问答社区
自动排版问题
我有一个带有两个按钮的视图.我已经添加了自动层.但是底部空间在iPhone 8 Plus中比iPhone 4更多.我想在所有iPhone中保持顶部和底部的间距比.如何修复它? 解决方案 更新 对于特定比率:据我所知,我们可以为Centre Vertically Constraints提供乘数.在所有iPhone系列中,顶部和底部空间的比率都相同.我给了乘数1.4 ================================= 我知道那里有几个答案.但是,没有人使用UIStackView添加两个简单的按钮. 拖动两个uibutton,选择两个uibuttons,从这里单击Embed in Stack图标. stackView属性 给出以下内容的UistackView, set Axis as Horizontal,Distribution as Fill Equally,Spacing as 10 in Attributes Inspe
0 2024-03-21
编程技术问答社区
安卓--XML中的封锁
我目前正在研究Android项目Android Studio.我想知道是否可以制作块(总共8个)Android Studio.这些块将在菜单栏下方的部分.我加入了我的content_main.xml您文件,所以您可以帮助我. 我将查看8个块(一条线上有4个块,下面还有4个块).这些块将用于显示天气数据(图形,文本). 我让您在此链接上可以使用该项目: 事先感谢您的帮助,麦克纳维. 解决方案 我建议您使用 Mitalialleanback library 您将在代码中获得一个示例示例. 用法 在您的布局中
2 2024-03-21
编程技术问答社区
带标签栏的ScrollView
我有一个类似于聊天的东西. 在 我在底部也有一个塔巴尔 这是正确的方法.我还想提起键盘并向上移动文本框 图像没有包含滚动视图,因为每当我放置卷轴视图时 此外,我还想知道如何根据聊天消息增加行的大小. 只是粗图纸 这是我到目前为止所取得的成就 我无法根据数据增加标签的大小,也无法在显示键盘时提高文本字段. :( 解决方案 最后我得到了答案,这是我的设置和输出. 感谢@isuru在 @esthepiking帮助我 其他解决方案 uitableview已经继承并包含一个UISCrollView,因此您不需要自己添加滚动视图,并且可能会引起问题,因为我认为您所描述的是这种情况. 要自动调整单元格,我将检查本教程 https://www.captechconsulting.com/blogs/ios-8-tutorial-series-auto-sizing-table-cells .它提供了许多有关其工作方式和原因的细节. 对于底部的消息
2 2024-03-21
编程技术问答社区
自定义UITableViewCell在StoryBoard中的自动排版右对齐
我想要的(实际上不是)是将UIButton粘贴到UITableViewController in UITableView in UITableView in UITableView中的原型UITableViewCell的右侧(边距)边缘.我定义了2个约束:尾随空间为:supperiew(内容视图)和顶部空间:supperiew.必须说,这在UIViewController中可以很好.但是,当我继续运行时,例如,iPhone5模拟器我的UIButton不在可见区域.我可以在高分辨率设备模拟器上找到它,但是在所有这些模拟器上都不可见吗? 我已经守望了AutoLayout教程(Inc.Stanford课程和HSE Swift课程)和所有Google,但紧紧抓住了:( 如果您可以对此UITableViewCell自动划分特异性睁开眼睛,那将是很棒的.非常感谢! upd:我现在正在浏览其中一个TUT,而UITableViewCell行为与教程(!)中的行为不相似,好像细胞不再适合UITabl
0 2024-03-21
编程技术问答社区
NSLayoutConstraint和确定哪个子视图更宽广
我在子分类容器中创建UISwitch和a UILabel:UIView: UISwitch *toggleSwitch = [UISwitch new]; toggleSwitch.translatesAutoresizingMaskIntoConstraints = FALSE; [toggleSwitch addTarget:self action:@selector(switchToggleDetected:) forControlEvents:UIControlEventValueChanged]; self.toggleSwitch = toggleSwitch; [self addSubview:toggleSwitch]; UILabel *label = [UILabel new]; label.translatesAutoresizingMaskIntoConstraints = FALSE; label.textAlignment = NSTextAlign
4 2024-03-21
编程技术问答社区
我有一个UILabel,用自动布局定位在屏幕上,但当我隐藏导航栏时,会导致标签 "抽动 "一秒钟。
项目: http://cl.ly/1t2k0v3w1p21 最好从项目中看到,这是一个小的下载,将其简化为视图控制器. 基本上,我的uilabel与自动布局完美地保持在原处,但是当我隐藏导航栏时(您可以通过在任何地方敲击屏幕来在项目中进行此操作),它会导致其抽搐.我该如何做到这一点,因此无论导航栏发生了什么,它都保持在完全相同的位置? 看来它是动画的(我想要的)会导致自动划分变得困惑. 这是标签上的约束的样子: 任何人都可以提供一些关于我做错了什么的建议吗? 解决方案 而不是底部空间约束,您可以尝试从标签(常数中的22个)定义对Supperiew的顶部空间约束,将其作为IBOUTLET连接到您的视图属性,并在导航栏是隐藏或显示的. 例如,我将顶级太空属性声明为TopSpacectraint: @property (weak, nonatomic) IBOutlet NSLayoutConstraint *topSpaceConstraint;
0 2024-03-21
编程技术问答社区
Xcode如何在自动布局中制作灵活的约束条件
大家好,我已经陷入了自动延期问题 我有登录故事板,其中包含三个项目图像视图,堆栈视图,按钮,如下面的第一个图像 我尝试使用两种方式添加约束: 我在图像视图中添加了"固定"约束的第一种方式,如下图1所示,但是当我更改为景观时,图像消失了如下第二张照片. 请注意,我没有任何警告 我尝试使用视图包装图像视图的第二种方式,然后添加 "固定"约束以查看 最终,我在图像视图中添加了固定宽度和高度,并在容器中的水平和垂直方向上增加了固定宽度和高度 我该怎么做才能使我的图像视图适应所有屏幕? 谢谢 photo2 photo3 解决方案 更改为景观屏幕时高度更改了很多.您使用自动层设计的设计问题在于,它不适合景观和肖像模式,因为您可以固定 hight 和宽度. 使您的图像视图适应所有屏幕的适应性高度 supperiew height> height 在百分比中. 看看这个演示希望这会有所帮助. autolayout 第一个将uiimageView放入
2 2024-03-21
编程技术问答社区
需要帮助在UIScrollView中应用约束条件
我正在编程添加子视图. 要求:当添加额外的视图时,应启用滚动. 我应用的约束: 要删除我写self.automaticallyAdjustsScrollViewInsets = false的顶部的额外空间 也给出内容大小为self.scrollView.contentSize = CGSize(width: self.contentView.frame.width, height: self.contentView.frame.height*2) 但是,当视图被加载滚动时,完全禁用了. 请帮助我 解决方案 使用自动布局时,必须设置内容大小在 view> viewController 方法中,您必须以下方法 Override . -(void)viewWillLayoutSubviews; swift override func viewWillLayoutSubviews() { } 其他解决方案 尝试基于滚动ContentVie
2 2024-03-21
编程技术问答社区
如何通过编程方式使用两个孩子stackViews创建水平堆栈视图?
一段时间前,我问如何在中绘制UI块.值得庆幸的是 @hangarrash 我得到了答案并了解如何做.但是现在,我想创建基于其他两个stackViews的StackView.我有这样的代码: class ViewController: UIViewController { @IBOutlet weak var mainContainer: UIView! let colorDictionary = [ "Red":UIColor(red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0), "Green":UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0), "Blue":UIColor(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0), // "Green2
2 2024-03-21
编程技术问答社区
我怎样才能在自动布局中使视图1的高度=3.7视图2的高度?
我在屏幕上有view1和view2. 我该如何在自动布局中进行view1高度= 3.7 View2高度? 也许可以通过在代码中添加约束来完成.但是我想知道所有解决方案. 还如何完成该视图1的高度= 3 View2高度?我认为这可以通过添加2个视图(viewAdditon1, viewAdditon2)来完成.这样 View1,ViewAdditon1,ViewAdditon2的高度相等.另外,view1.y top = view2.y top.以及ViewAdditon1.y底部= view2.y底部. ViewAdditon1.y底部= ViewAdditon2.y Top. ViewAdditon2.y底部= View1.y Top. 也问.如何保持平方视图?或如何使该视图1高= 0.7 * View2宽度? 也问.如何在View1 Buttom和View2 Top = 1/4 View3高度之间空间空间?我知道可以使用此空间的View4完成.因此,View
0 2024-03-21
编程技术问答社区
如何在程序上使用约束?
我正在研究应用程序,该应用程序只能水平运行并以编程方式执行所有操作. 我有一个图像视图,两个textfield和两个按钮,但是我不知道如何在这些文本和按钮上设置约束,这意味着当我在iPhone 5s中使用时,这很好,但是当我使用iPhone 6s plus时然后看起来很小. 我在这里发布一些代码和屏幕截图 UIImageView *logoImage = [[UIImageView alloc]init]; logoImage.frame = CGRectMake(CGRectGetMidX(self.view.frame)-100, 10, 250, 100); [logoImage setImage:[UIImage imageNamed:@"antya_logo1.png"]]; [self.view addSubview:logoImage]; UILabel *loginLabel = [[UILabel alloc]init];
6 2024-03-21
编程技术问答社区
Xcode故事板设备和模拟器需要是相同的
所以我完成了iOS应用程序的大约75%,并且已经开始对其进行测试,显然,故事板设备必须与某些UI组件的模拟设备相同,这些UI组件是根据设备宽度计算的. 因此,当我将故事板视图设置为iPhone 5s并在iPhone X设备中运行该应用程序时,基于屏幕宽度的组件看起来很混乱.为什么将故事板屏幕宽度而不是实际的设备宽度. 当我在实际设备中运行它时,这会发生吗?另外,当我要将应用发布到App Store时,我会面临同样的问题. 解决方案 如果您使用了自动布局,则由于领先的空间约束而发生的,如果您从其超级视图设置了任何UI元素的领先空间约束,则宽度将根据设备宽度增加,并且如果您想要fix fix width在所有设备上,然后删除领先的宽度约束并设置宽度约束修复.
0 2024-03-21
编程技术问答社区
适应iPhone 3.5英寸和iPhone 4英寸屏幕尺寸的自动排版设计
我正在创建一个通用应用程序.现在我想在屏幕上放置两个按钮: 我使用Autolayout和Interface Builder(iOS设计器)尝试了一下,但我只设法将按钮安装在一个屏幕尺寸(例如3.5英寸显示屏)上.因此,我将按钮的大小和间距设置为顶部(一个到监督者的顶部,一个在上面的按钮的底部). 但是有没有办法适应屏幕大小?例如.按钮的宽度是视图宽度减去一定差距.还是像图片中的按钮一样居中(一个很容易)?这可能吗? 其他选项是在代码中执行所有操作(创建按钮并创建约束).在这里,我可以查询视图宽度,依此类推,以相应地创建我的按钮.这是唯一的方法吗? 如何管理? 编辑: 现在,我在视图控制器上放置了一个空标签.在此标签上,我添加了以下约束: 对齐中心y至:supperiew,等于:0 对齐中心x至:supperiew,等于:0 在我的按钮上,我设置了一个固定的高度和宽度.超过监督的尾随空间等于50(由于两个屏幕尺寸都具有相同的宽度).顶部的按
0 2024-03-21
编程技术问答社区
嵌入UITableView的UICollectionView单元格无法自动调整大小
我已经花了几天的时间在各种帖子上尝试建议的事情,但无法弄清楚这一点.我可能对这个问题很正确! 我正在从Android转到iOS,并且似乎在AutoLayout上遇到了一些麻烦.具体而言,将UicollectionView调整到其内容的高度.每个集合视图可以根据其内容具有不同的单元格大小,但是给定行上的每个项目的单元大小将相同. uicollectionView嵌套在uiatebleviewcell中. uitaiteViewCells似乎正正确地调整了其内容高度,并且查看调试视图Hierarrchy这个问题似乎是UicollectionView. 我创建了一个迷你演示,并将其放在此github上(下面的链接).我投入了大量的测试数据,因此ViewController VC的底部有点混乱.演示只是毫无障碍,每行如何具有不同的内容大小.可以有相同样式的几个表行. 注意:我必须将以下行添加到类别Rowcell.swift,以便我获取以下屏幕截图.没有这条线,uicoll
4 2024-03-21
编程技术问答社区
在Storyboard Xcode 10, iOS中自动铺排16:9的GIF动画
我有一个通用应用程序,想添加一些教程.为此,我创建了一个16:9的动画gif.我想定位该顶部/左/顶/右/右.剩余空间的文字和按钮. 图像最初是400x225,但我可以接受任何大小,只要保留16:9. 我无法弄清楚,如何对齐,以便在电话上使用iPad上的较小矩形. 解决方案 如果我理解正确,您希望UIImageView保持相同的比率. 您可以使用约束来完成此操作,这是您应该使用故事板进行操作 如果要将其粘贴到左上/右上角,则还应在监督的顶部添加一个约束,以便将其粘贴到顶部,并带有一个领导/尾随的限制/右
4 2024-03-21
编程技术问答社区