首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更改视图将它们重新定位在(0,0)处

更改视图将它们重新定位在(0,0)处
EN

Stack Overflow用户
提问于 2013-05-09 10:31:27
回答 2查看 59关注 0票数 1

我创建了一个简单的窗口,目的是成为一个类似“巫师”的东西(我知道苹果的指导方针基本上禁止你这样做,我试图说服客户,但不管怎样。

这只是一个简单的视图,里面有两个自定义视图,其中一个在底部,其中一个包含“上一个”和“下一个”按钮,而顶部的一个较大的视图占据了大部分空间。

我将底部视图称为"NavigationView“,将顶部视图称为"ContainerView”。

我创建了一个数组来保存用户应该使用“下一步”和“上一步”按钮浏览的一系列视图。

所以,这是我的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- (IBAction) next:(id)sender{
    currentViewIndex++;
    [self animatePushView:YES];
}

- (IBAction)previous:(id)sender{
    currentViewIndex--;
    [self animatePushView:NO];
}

- (void) animatePushView:(BOOL)forward{
    NSView *nextView = [viewCollection objectAtIndex:currentViewIndex];

    for (NSView *subView in [containerView subviews]) {
        [subView removeFromSuperview];
    }

    [containerView addSubview:nextView];
    [nextView setFrame:containerView.bounds];

    [containerView setNeedsDisplay:YES];

}

我认为这很简单。我有一个数组,其中包含要显示的下一个视图。

实际情况是,我发现下一个视图位于ContainerView的左下角。这一切为什么要发生?

此外,正如你可能已经猜到的那样,我是一个管理视图的新手,尽管我已经在objective-c上工作了很长一段时间,所以如果我错过了一些最佳实践,我愿意接受建议。谢谢!

编辑:

我忘了补充:其中一些视图有不同的大小,我希望能够根据视图大小更改窗口大小。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-10 09:28:06

好了,我想通了..终于..。

问题是我必须显示的第一个视图已经包含在.xib文件的容器视图中。

我真的不知道为什么,但这可能会导致容器视图的保留计数出现问题,因为它是在第一次单击时释放的。释放容器视图将重新定位(0,0)上的视图,可能是因为它的框架为空,并且视图将闪烁,因为它没有正确保留。

从.xib文件中删除视图并通过代码添加它无论如何都能正常工作。

票数 0
EN

Stack Overflow用户

发布于 2013-05-09 11:29:29

[nextView setFrame:containerView.bounds];

您正在将容器视图边界指定给下一个图幅(doc)。

您可能需要将当前图幅指定给下一个图幅,并可能需要调整宽度和高度。

保持对当前显示视图的引用,如下所示(_currentView是NSView *类型的ivar ):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- (IBAction) next:(id)sender{
    currentViewIndex++;
    [self animatePushView:YES];
}

- (IBAction)previous:(id)sender{
    currentViewIndex--;
    [self animatePushView:NO];
}

- (void) animatePushView:(BOOL)forward{
    NSView *nextView = [viewCollection objectAtIndex:currentViewIndex];
    [nextView setFrame:_currentView.frame];

    [_currentView removeFromSuperview];    // _currentView is retained in the collection
    [containerView addSubview:nextView];
    _currentView = nextView;

    [containerView setNeedsDisplay:YES];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16459674

复制
相关文章
entr:文件更改时重新运行构建
这是一篇简短的文章。我是最近才发现 entr 的,我很惊奇从来没有人告诉过我?!因此,如果你和我一样,那么我告诉你它是什么。
用户8639654
2021/09/14
6220
今天 3·15 ,你一定用得上它们
小程序体验师:梁爽 前段时间,微博上流行起了一套「防骗自测题」。这套题完全取材自我们的日常生活,其中涉及了大大小小的骗局,来检测人们的防骗与维权能力。 二十五道题二十五分,十五分以上就算及格。这二十五道看似简单的题,让前去做题的网友们信心满满,而其中变幻莫测的骗局,又让他们铩羽而归。 大家或许认为自己具有基本的防骗能力,可以预防被骗、维护权益。然而事情真的有那么简单吗? 我们生活在社会上,工作、学习、购物、与人交往,每天接收或传播无数的信息。我们难以保证自己传达的每个信息都有迹可循、准确无误,更难以保证自己
知晓君
2018/07/04
3590
ALSA中aplay -Dhw:0,0 和 aplay -Dplughw:0,0 的区别
aplay -Dhw:0,0 -c 2 -r 48000 -f S16_LE /usr/share/sounds/alsa/Front_Left.wav
程序手艺人
2019/08/14
6K0
SQL命令将数据重新编号
由于每次增添删减数据又会导致断号,所以我们直接在数据库中加一个定时命令,保证数据每天都会重新编号。
半夜喝可乐
2023/07/05
6660
SQL命令将数据重新编号
vue通过监听实现相同路径的视图重新加载
菜单能正常显示,但发现从待办流程切换到已办流程时,页面没有重新刷新,但URL已经变化了. 经查,是因为各个菜单路由是相同的,vue就会认为你是同一个页面,从而复用已加载的页面,而不会重新加载. 解决办法如下:
星痕
2018/11/27
1K0
读者提问:如何重新排序数据视图(dataView) 显示的数据
最近有读者问到,如何对 toolbox.feature.dataView 中的数据进行逆序排列?
ZXand618
2022/04/10
1.5K0
读者提问:如何重新排序数据视图(dataView) 显示的数据
几天后,GitHub的“master”将更改为“main”
GitHub 官方表示,从今年 10 月 1 日起,在该平台上创建的所有新的源代码仓库将默认被命名为 "main",而不是原先的"master"。值得注意的是,现有的存储库不会受到此更改影响。
会呼吸的Coder
2020/09/28
5070
几天后,GitHub 的 “master” 将更改为 “main”
GitHub 官方表示,从今年 10 月 1 日起,在该平台上创建的所有新的源代码仓库将默认被命名为 "main",而不是原先的"master"。值得注意的是,现有的存储库不会受到此更改影响。
芋道源码
2020/10/09
9920
几天后,GitHub 的 “master” 将更改为 “main”
IDA——结构体
1.在结构体视图中按下insert添加 如果没有结构体视图,在view中找到structures就可以调出来 大键盘按下insert,小键盘按下fn+insert进行添加结构体 image.png image.png image.png image.png 新成员默认名字field_0,按n更改成员 鼠标定位在成员名字处,按下d会改变字节大小(如:db-dw-dd) 新成员默认名字field_0,按n更改成员名 image.png image.png 2.Local types添加结构体
阿婆
2019/07/25
2.3K0
IDA——结构体
RenderingNG中关键数据结构及其角色
大家好,我是柒八九。今天这篇文章是Chromium最新「渲染架构」 RenderingNG的译文系列文章的「第二篇」 -- 在RenderingNG渲染过程中关键数据结构和它们所担当的角色。
前端柒八九
2022/08/25
2K0
RenderingNG中关键数据结构及其角色
中兴冲破“阈值”,家庭监控市场或将重新排位
眼看年关将至,放在以前,这是个让人又喜又忧的时节,喜的当然是放假、过节、团聚以及红包;忧的是,“小偷小摸”又出来“冲业绩”了,好在近些年随着国家管理的加强,生活水平的提升,治安环境发生了极大的改变。当然也少不了监控设备的普及,特别是家庭监控的完善,让入室盗窃基本就等于自投罗网。
曾响铃
2019/12/24
4180
AAAI 2020 | 快手:重新审视图像美学评估 & 寻找精彩片段聚焦点
本文将简单介绍 2 篇快手发表在 AAAI 2020 上的论文,其中一篇是关于图像美学评估,另一篇则是关于如何找出精彩片段中的目标集和聚焦点。
AI科技评论
2020/02/14
1.4K0
AAAI 2020 | 快手:重新审视图像美学评估 & 寻找精彩片段聚焦点
27个人类基因被重新命名,只因Excel总把它们自动纠正成日期
让人万万没想到的是,Excel类似这样的功能,竟然在过去一年里,导致27种人类基因被重新命名。
量子位
2020/08/11
1.3K0
重新组建的科技部,将变成这个样子
据中央机构编制网公布的《科学技术部职能配置、内设机构和人员编制规定》(下称“《规定》”),科技部将从研发管理向创新服务转变,并新设科技监督与诚信建设司、外国专家服务司、引进国外智力管理司等司局机构。
钱塘数据
2018/10/26
1.3K0
SAP将裁减2800名员工;IBM裁员3900人;DeepMind也将解雇英国部分员工,并关闭加拿大一处办事处丨每日大事件
量子之歌于1月25日正式在美国纳斯达克挂牌上市,股票代码“QSG”,发行价为每ADS(美国存托股票)12.50美元,共计发行325万股ADS,募资总额4063万美元,假设承销商全数行使超额认购选择权,募资总额将达4672万美元。量子之歌集团创始人、董事长、CEO李鹏认为,认知才是第一生产力,“通过学习去探索未知,去提升认知,去实现个人价值和社会价值,这就是学习最大的意义,也是量子之歌最大目标。” 量子之歌称,成立至今,始终致力于通过科技创新推动专业知识普惠化,助力全民素养提升。在B端业务领域,量子之歌推出针对金融机构的市场服务、企业人才管理服务,为企业客户提供内部员工管理的在线人才测评、培训和学习服务。
数据猿
2023/03/03
3200
SAP将裁减2800名员工;IBM裁员3900人;DeepMind也将解雇英国部分员工,并关闭加拿大一处办事处丨每日大事件
div定位在浏览器底部(CSS解决)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档
用户1730674
2018/05/02
9330
一文搞懂Electron的四种视图容器和它们之间的IPC通信机制
Electron作为一种基于JS语言搭建的桌面框架,其基础视图容器是包含了Chromium内核的窗口,称为BrowserWindow。对于更复杂的项目,如果需要在窗口内部嵌入第三方业务的页面,则有BrowserView、webView Tag和Iframe三种方案可供选择。
WendyGrandOrder
2022/12/20
11.2K0
操作系统?我重新虚拟内存大小并更改了它的位置
我今天发现了这样的一个文件PageFile.Sys,它其实就是归操作系统管的,默认一点是不可见的,是隐藏的。但是其实这样的一个文件的话,其实会占用一部分空间。其实是比较大的。一般就是在系统分盘的根目录下。但是它占用大的空间的话,我还是不建议你去删除掉它。
兰舟千帆
2022/11/16
1.7K0
操作系统?我重新虚拟内存大小并更改了它的位置
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
第一步:工具→选项 2,取消勾选
SingYi
2022/07/14
1.6K0
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
点击加载更多

相似问题

在WPF中缩放图像并将其定位在0,0处

30

将光标定位在指定行处

11

UIScrollView setContentOffset:(0,0)更改视图?

13

在0,0处交叉轴

18

LinearLayouts将自身定位在(0,0)坐标上

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文