5.9-停诊场景引入出差

弹层-成功页面

jt-二次游泳-东来顺-三里屯-拥抱-阿迪达斯-牵手-公交站拥抱-电梯口一楼亲-到家亲

半透明view上面添加白色 alertView  堆砌label, 约束写好,模型传文案,根据文案自适应高度   全部堆砌完毕,让白色View中心跟半透明遮罩背景相同即可

-------

/**

*  求字符串长度

*

*  @param text 字符串

*

*  @return 字符串宽度

*/

-(float)width:(NSString *)text{

//    CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:kCellTextFont]constrainedToSize:CGSizeMake(MAXFLOAT,27)];

CGSize size = [text sizeAutoFitIOS7WithFont:[UIFont systemFontOfSize:kCellTextFont] constrainedToSize:CGSizeMake(MAXFLOAT,27) lineBreakMode:NSLineBreakByCharWrapping];

//    LOG(@"text---%@--size.width--%f",text,size.width);

return size.width;

}

-----------

HDFNet *net = [HDFNet shareInstance];

[net postAddPath:DoctorUser_Bookingorder_ModifyTingzhen

parameters:parameters

success:^(HDFNetResponse *response) {

[SVProgressHUD dismiss];

if (_isFromFaceDiaOrderList) {

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"发布成功" message:@"如果停诊期间已有患者预约,医助会联系患者取消或更换时间" delegate:self cancelButtonTitle:nil otherButtonTitles:@"我知道了", nil];

alertView.tag = kFaceDiaOrderAlertTag;

[alertView show];

}

else{

[SVProgressHUD showSuccessWithStatus:@"发布成功"];

[self performSelector:@selector(popToAnnouceListViewController) withObject:nil afterDelay:0.5];

}

发布成功后,performSelector pop控制器 延迟0.5s

------------------------------------------------------------------------------------------------

先写上左右的约束, 不写高度约束,最后加高度约束

// 蓝色虚线框imageView

UIImageView *dottedLineImageView = [[UIImageView alloc]init];

[self.bottomContainerView addSubview:dottedLineImageView];

[dottedLineImageView mas_makeConstraints:^(MASConstraintMaker *make) {

make.top.equalTo(self.bottomContainerView);

make.left.equalTo(self.bottomContainerView).offset(25);

make.right.equalTo(self.bottomContainerView).offset(-25);

}];

dottedLineImageView.image = [UIImage imageNamed:@"travelDoc_round"];

[dottedLineImageView mas_updateConstraints:^(MASConstraintMaker *make) {

make.bottom.equalTo(rightButton.mas_bottom).offset(15);

}];

-----

scrollview不能滚动

self.bottomContainerView = [[UIView alloc]init];

[self.bgScrollView addSubview:self.bottomContainerView];

[self.bottomContainerView mas_makeConstraints:^(MASConstraintMaker *make) {

make.top.equalTo(self.offWorkReleaseLabel.mas_bottom).offset(35);

make.left.right.equalTo(self.view);

//        make.bottom.equalTo(self.bgScrollView); // 最后再加约束

}];

所有的控件都应该加到scrollView上.之前第二行写成了

[self.view addSubview:self.bottomContainerView];

-----

滚动视图的标准写法

1.设置四边约束     所有view添加到scrollView上, 不用设置contentSize, 不用设置代理

UIScrollView *bgScrollView = [[UIScrollView alloc]init];

[self.view addSubview:bgScrollView];

[bgScrollView mas_makeConstraints:^(MASConstraintMaker *make) {

make.edges.mas_equalTo(self.view);

}];

(如何只设置top.left,right,是不行的,更新约束意味着之前是已经有约束了)

2.更新底边约束

[bgScrollView mas_updateConstraints:^(MASConstraintMaker *make) {

make.bottom.mas_equalTo(self.bottomContainerView.mas_bottom).offset(15);

}];

-----

font.lineHeight * 0.4

--------------------------------------------------------

@property (nonatomic, strong) id model;

-(void)setModel:(id)model

{

if ([model isKindOfClass:[PTOffLineAnnounceModel class]]) {

_offLineAnnounceModel = model;

}

else if ([model isKindOfClass:[PTOnLineAnnounceModel class]])

{

_onLineAnounceModel = model;

}

[self configureUI];

}

// 一个控制器可能传两种模型

--------------------------------------------------------------------------------

先添加UI再用模型刷新UI

--------------------------------------------------------------------------------

按钮点击不能跳转

因为按钮的父控件是图片,图片默认是不能交互的,所以设置图片可交互就行了

----------------------------------------------------------------------------------------------------

崩溃信息: __NSArrayI removeObject

谷歌百度搜索崩溃信息都能找到答案的,问题出在第一句代码,强制转换,但是vcs仍然是不可变数组,至是欺骗了编译器,实际还是不可变数组,所以

NSMutableArray * vcs = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];

用arrayWithArray写就不会崩溃了

不同的内存空间 相当于alloc init

// 右滑返回

-(void)removeOffLineAnnounceEditViewController{

NSMutableArray * vcs = (NSMutableArray *)self.navigationController.viewControllers;

for (UIViewController * vc in self.navigationController.viewControllers) {

if ([vc isKindOfClass:[OffLineAnnounceEditViewController class]]) {

[vcs removeObject:vc];

[self.navigationController setViewControllers:vcs animated:NO];

//            self.navigationController.viewControllers = vcs;

}

}

}

------------------------------------------------------------------------------------------

/**

*  拉伸图片,边缘不变形

*

*  @param image 被拉伸的图片

*

*  @return 拉伸完毕的图片

*/

- (UIImage *)strenthImage:(UIImage *)image {

CGFloat top = 31; // 顶端盖高度

CGFloat bottom = 31 ; // 底端盖高度

CGFloat left = 10; // 左端盖宽度

CGFloat right = 10; // 右端盖宽度

UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);

// 指定为拉伸模式,伸缩后重新赋值

return [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];

}

------------------------------

最后更新约束不对

之前没有的,可以用make加约束

--------

没显示备注

用scrollView + label解决

------

时间: 2024-12-18 18:34:28

5.9-停诊场景引入出差的相关文章

5.16-停诊引入出差

LR来找我健身,她说同学都领证了,她着急,东来顺,宝鼎羊肉,大碗茄子 YY秀聚餐自拍,太美啦 换产品,展书房不带这个项目,换人,改需求,页面大改动 准备做家庭医生,页面很多,加油,拼,眼睛痛就洗手间休息,闭眼,洗脸, 晚上回去必须刷牙,现在没怎么泡脚了,也没怎么coding了, Q:Scroll 在ios7不能滚动  ios9可以滚动 A: 添加约束: [contentScrollView mas_makeConstraints:^(MASConstraintMaker *make) { mak

不为人所知的分布式锁实现全都在这里了!

1.引入业务场景 首先来由一个场景引入: 最近老板接了一个大单子,允许在某终端设备安装我们的APP,终端设备厂商日活起码得几十万到百万级别,这个APP也是近期产品根据市场竞品分析设计出来的,几个小码农通宵达旦开发出来的,主要功能是在线购物一站式服务,后台可以给各个商家分配权限,来维护需要售卖的商品信息. 老板大O:谈下来不容易,接下来就是考虑如何吸引终端设备上更多的用户注册上来,如何引导用户购买,这块就交给小P去负责了,需求尽快做,我明天出差! 产品小P:嘿嘿~,眼珠一转儿,很容易就想到了,心里

【转载】5年内从3500元到700万的过程,有爱情、有奋斗、有。。。泪水

穷人总是担心创业失败,又失去了现有的稳定的收入,落得个俗话说的偷鸡不成蚀把米.所谓的稳定收入是很多人行动的障碍,犹如人生的鸡肋,说到底还是反映比较缺乏自信.对绝大多数人来说,靠薪水永远只能满足生活的基本要求.老板之所以雇你,不是要让你发大财的,也不是要和你共同富裕,如果他挖不出价值,雇你等于零.所以最终,要创造自己的幸福,还得靠你自己.所以该做的时候找到机会就做吧.... 奋斗5年 从月薪3500到700万! 偶的忠告:要想学点什么,首先学会有耐心 阅读准备:眼药水+眼镜+耐心+一颗平淡的心 来

RabbitMQ 高可用之镜像队列

如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非持久化message存储于非持久化queue中的时候).可以将所有message都设置为持久化,并且使用持久化的queue,但是这样仍然无法避免由于缓存导致的问题:因为message在发送之后和被写入磁盘并执行fsync之间存在一个虽然短暂但是会产生问题的时间窗.通过publisher的confirm机制能够确保客户端知道哪些message已经存入磁盘,尽

行心云HIS产品概述

行康云是针对中小型医疗机构推出的一套基于云端的快速免费的门诊云HIS服务平台.可以满足诊所业务中预约.看诊.收费.发药.药库管理.经营分析等多环节的工作需要.使用该产品的诊所只要有可以上网的PC机使用浏览器访问即可,无需其他硬件投入.和传统医院系统相比,行康云的操作简单,易学易用,无需复杂的数据准备工作,并满足多元化诊所管理模式需要.系统涵盖了医疗诊所日常管理的各个方面,是您提升诊所形象,增加营业收入,提高顾客满意度的强大信息化工具."尤其适合以连锁性会员制的医疗健康机构,例如口腔.中医.美容.

从零开始的Android新项目1 - 架构搭建篇

记录一下新项目的搭建. 试想一下,如果没有历史负担,没有KPI压力,去新搭建一个项目,你会怎么设计和实现呢? 本系列文章不是教你怎么从0开始学Android,从0开始怎么建一个项目,而定位于零负担的情况下,在2016年怎么去创建一个好的Android项目,其中一部分技术并不太适合刚入门的初学者. Application specific 类似clean architecture,分为三层 presentation - data - domain. 关于Clean Architecture由于国内

微信公众平台开发教程(十一)微信"企业号“上线

什么是企业号? 企业号是微信为企业客户提供的移动应用入口 关注更安全 只有企业通讯录的成员才能关注企业号,分级管理员.保密消息等各种特性确保企业内部信息的安全. 应用可配置 企业可自行在企业号中可配置多个服务号,可以连接不同的企业应用系统,只有授权的企业成员才能使用相应的服务号. 消息无限制 发送消息无限制,并提供完善的管理接口及微信原生能力,以适应企业复杂.个性化的应用场景. 使用更便捷 企业号在微信中有统一的消息入口,用户可以更方便地管理企业号消息.微信通讯录也可以直接访问企业号中的应用.

AWS助理架构师样题解析

AWS 认证是对其在 AWS 平台上设计.部署和管理应用程序所需的技能和技术知识的一种认可.获得证书有助于证明您使用 AWS 的丰富经验和可信度,同时还能提升您所在的组织熟练使用基于 AWS 云服务应用的整体水平. 目前亚马逊推出了Solutions Architect,Developer和SysOps Administrator三个方向的认证.每个方向又分为Associate Level(助理级),Professional Level(专家级)和Master Level(大师级).当然目前只有

如何让孩子爱上设计模式 ——10.桥接模式(Bridge Pattern)

如何让孩子爱上设计模式 --10.桥接模式(Bridge Pattern) 我有故事,你有酒吗?这年头写个技术文不讲个故事都不行,行,我讲: 还有发现很多的技术博文都开始有喜欢往文中插入几个表情的趋势了, 但是你真的插的姿势对了吗?这种事情不是随便插的,来来来,给你 见识下如何在适当的场景插入适当的表情以让读者感觉到易可赛艇, 本文以讲故事插表情为主,讲述桥接模式为辅,多图预警, 简书上排版可能有些问题,最佳排版可见: https://www.zybuluo.com/coder-pig/note