百思不得姐记录第二天

*:first-child {
margin-top: 0 !important; }
body > *:last-child {
margin-bottom: 0 !important; }

a {
color: #4183C4; }
a.absent {
color: #cc0000; }
a.anchor {
display: block;
padding-left: 30px;
margin-left: -30px;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
bottom: 0; }

h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
cursor: text;
position: relative; }

h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoMTMuMCAyMDEyMDMwNS5tLjQxNSAyMDEyLzAzLzA1OjIxOjAwOjAwKSAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUM2NjlDQjI4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUM2NjlDQjM4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QzY2OUNCMDg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY2OUNCMTg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsQhXeAAAABfSURBVHjaYvz//z8DJYCRUgMYQAbAMBQIAvEqkBQWXI6sHqwHiwG70TTBxGaiWwjCTGgOUgJiF1J8wMRAIUA34B4Q76HUBelAfJYSA0CuMIEaRP8wGIkGMA54bgQIMACAmkXJi0hKJQAAAABJRU5ErkJggg==) no-repeat 10px center;
text-decoration: none; }

h1 tt, h1 code {
font-size: inherit; }

h2 tt, h2 code {
font-size: inherit; }

h3 tt, h3 code {
font-size: inherit; }

h4 tt, h4 code {
font-size: inherit; }

h5 tt, h5 code {
font-size: inherit; }

h6 tt, h6 code {
font-size: inherit; }

h1 {
font-size: 28px;
color: black; }

h2 {
font-size: 24px;
border-bottom: 1px solid #cccccc;
color: black; }

h3 {
font-size: 18px; }

h4 {
font-size: 16px; }

h5 {
font-size: 14px; }

h6 {
color: #777777;
font-size: 14px; }

p, blockquote, ul, ol, dl, li, table, pre {
margin: 15px 0; }

hr {
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;
border: 0 none;
color: #cccccc;
height: 4px;
padding: 0;
}

body > h2:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child + h2 {
margin-top: 0;
padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
margin-top: 0;
padding-top: 0; }

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0; }

h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
margin-top: 0; }

li p.first {
display: inline-block; }
li {
margin: 0; }
ul, ol {
padding-left: 30px; }

ul :first-child, ol :first-child {
margin-top: 0; }

dl {
padding: 0; }
dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px; }
dl dt:first-child {
padding: 0; }
dl dt > :first-child {
margin-top: 0; }
dl dt > :last-child {
margin-bottom: 0; }
dl dd {
margin: 0 0 15px;
padding: 0 15px; }
dl dd > :first-child {
margin-top: 0; }
dl dd > :last-child {
margin-bottom: 0; }

blockquote {
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }

table {
padding: 0;border-collapse: collapse; }
table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
table tr:nth-child(2n) {
background-color: #f8f8f8; }
table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr th :first-child, table tr td :first-child {
margin-top: 0; }
table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }

img {
max-width: 100%; }

span.frame {
display: block;
overflow: hidden; }
span.frame > span {
border: 1px solid #dddddd;
display: block;
float: left;
overflow: hidden;
margin: 13px 0 0;
padding: 7px;
width: auto; }
span.frame span img {
display: block;
float: left; }
span.frame span span {
clear: both;
color: #333333;
display: block;
padding: 5px 0 0; }
span.align-center {
display: block;
overflow: hidden;
clear: both; }
span.align-center > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: center; }
span.align-center span img {
margin: 0 auto;
text-align: center; }
span.align-right {
display: block;
overflow: hidden;
clear: both; }
span.align-right > span {
display: block;
overflow: hidden;
margin: 13px 0 0;
text-align: right; }
span.align-right span img {
margin: 0;
text-align: right; }
span.float-left {
display: block;
margin-right: 13px;
overflow: hidden;
float: left; }
span.float-left span {
margin: 13px 0 0; }
span.float-right {
display: block;
margin-left: 13px;
overflow: hidden;
float: right; }
span.float-right > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: right; }

code, tt {
margin: 0 2px;
padding: 0 5px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px; }

pre code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent; }

.highlight pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }

pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre code, pre tt {
background-color: transparent;
border: none; }

sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
body {
width: 854px;
margin:0 auto;
}
}
@media print {
table, pre {
page-break-inside: avoid;
}
pre {
word-wrap: break-word;
}
}
-->

问题1.2

1.选中图片被渲染,蓝色

如何解决:1.通过操作图片 2.通过代码

2.发布图片显示不出来,并解决

分析:为什么显示不出来 -> 判断下发布图片和其他图片区别(尺寸不一样) -> 发布图片太大,导致显示不出来 -> 1.改图片尺寸不太好使 -> 系统的UITabBarButton不好使 -> 发布按钮不能使用UITabBarButton去实现 -> 1.直接往tabBar中间添加一个发布按钮(1.多了一个控制器 2.不安全,有可能系统UITabBarButton把你的按钮覆盖) -> 布局tabBar上子控件位置,平均分成5等分,中间留一个文字
 布局tabBar上子控件位置 -> 1.自定义这个控件 2.重写layoutSubviews

解决1.选中标题颜色 黑色

  • 分析:设置选中标题颜色 -> 拿到谁去设置 -> 标题属于按钮的内容 -> 对应子控制器的tabBarItem

标题颜色和大小:改为黑色,默认为蓝色

通过load加载-->全局的tabBarItem调用apperanceWhen-->创建可变字典,在字典中拿到NScolorAN属性设置黑色-->进去查会发现tabItem父类有个setTitle方法:-->同样的方法设置字体大小用字典的NSFont
apperance的使用条件:只要遵守了这个UIAppearance协议,就能调用appearance
哪些属性可以通过UIAppearance设置?只要属性有UI_APPEARANCE_SELECTOR这个宏描述,就可以使用UIAppearance设置appearance:必须要再显示之前设置(self.view removeSupviews)

设置所有的导航标题

分析: 导航条内容 -> 导航条由栈顶控制器的navgationItem -> 导航控制器的view永远显示出来是栈顶控制器的view ->
因为有4个导航控制器,所有抽出一个UIBarButtonItem的分类-->设置接收普通图片与高亮图片以及监听点击addtag的方法
实现该方法,注意点:记得按钮要调用sizeToFit,会发现直接添加到UIBarButtonItem上发现点击范围不对-->所以将创建的button先添加到一个尺寸与button一样的UIView上,在添加到UIBarButtonItem上-->通过该方法设置所有的导航控制器
  • 设置导航条共有的内容-->创建导航控制器获取整个应用的Bar用appearence方法-->设置字体颜色大小-->注意点:设置导航条背景图片:一定要是UIBarMetricsDefault,iOS9之前:UIBarMetricsDefault,导航控制器跟控制器的view尺寸会减少64
  • 设置每个导航器所含内容,并且监听点击事件,发现一个月亮按钮又选中状态的情况
  • 到UIBarButtonItem中设置一个含选中图片的方法,当点击时,让月亮成为选中按钮

问题3.4

3.发现使用系统的返回是蓝色,要设置成黑色

  • 重写返回按钮-->创建UITableVc,当点击按钮时push到设置Vc中-->在UIBarButtonItem添加一个设置标题的方法,方便下次其他需要的直接用,添加返回标题为黑色时发现距离左边太远了.
  • 在该方法中设置内边距解决这问题,
    • 考虑到后面可能需要设置其他的返回按钮,所以在push方法设置返回按钮,注意:如果跳转的控制器不设置颜色会卡顿
    • 当添加的按钮覆盖了系统的按钮发现系统的滑动功能没有了,添加滑动功能,滑动返回功能 -> 1.手势被干掉 pass 2.代理 -> 根控制器不需要滑动返回,不然会发现有锁死的可能,
    • 研究全屏滑动返回功能:为什么导航控制器只能边缘触发手势 -> 打印了下系统手势 -> 添加Pan手势,发现手势少一个target和一个action-->
    • 打印系统的self.interactivePopGestureRecognizer,会发现一些方法
    • 可以用系统的-->系统的UIScreenEdgePanGestureRecognizer会调用target的action方法来滑动返回-->所以用系统的target与action(handleNavigationTransition:)方法就行
    • 把以前的边缘滑动设置为NO

知识补充

  • UIScreenEdgePanGestureRecognizer:边缘滑动手势
  • UIPanGestureRecognizer:全屏,整个范围

总结:需求推动开发,思路最重要

时间: 2024-10-05 19:08:46

百思不得姐记录第二天的相关文章

软件测试初学记录——第二章

软件设计文档有哪些(了解): 1.结构文档 2.数据流图 3.状态转换图 4.流程图 5.代码注释 软件测试文档有哪些(重点): 1.测试计划:描述用于验证软件是否符合产品说明书和客户需求的整体方案, 包括质量目标.资源需求.进度表.任务分配.方法(包含测试工具的选择,测试方法的选择)等. 2.测试用例:列举测试项目,描述验证软件的详细步骤. 3.缺陷报告:描述执行测试用例找出的问题. 4.测试总结报告:测试过程及结果的汇总. 什么是软件开发生命周期(了解): 软件产品从构思到产品公开发行. 软

TCP/IP详解阅读记录----第二章 数据链路层

1.以太网     以太网是当今TCP/IP采用的主要的局域网技术.它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入.它的速率为10Mb/s,地址为48bit. 2.IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)      如图所示,在以太网帧格式中,类型字段之后就是数据;而在802帧格式中,跟随在后面的是3字节的802.2 LLC和5字节的802.2 SNAP . CRC字段用于帧内后续字节差错的循环冗余码检验. 802

寒假学习记录第二天

1.if else /** * if else */ val age =18 if (age < 18 ){ println("no allow") }else if (18<=age&&age<=20){ println("allow with other") }else{ println("allow self") } 2. for ,while,do…while /** * to和until * 例: *

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

传智博客(JavaWeb方面的所有知识)听课记录(经典)

一.       JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本兼容低版本的编译器版本. (2).当程序有错误的时候,使用Debug as 运行程序.双击语句设置断点.程序运行到此处停止.点击跳入方法的内部代码.点击跳过,执行下一条代码,点击跳出,跳出方法.观察变量的值,选中变量右击 选择watch. 跳入下一个断点.查看断点,调试完后一定要清除断点.结束运行断

一款工作记录软件

一直在找一款工作软件,以满足自己工作上的记录和查找需求.大概的使用场景是: 每天早上开始工作之前,先写一下今天要做的几项工作. 也可以在头一天记录第二天的工作计划及内容,以作备忘. 甚至在一周开始前大致计划下一周的任务. 这个规划时间可以任意长,但时间越久,计划就越粗粒度. 每日的工作列表,相当于一个TODO列表,可以标记完成. 工作列表有优先级划分. 每项工作细节可以使用标签关联到相应的项目上. 每周五中午自动生成本周周报,未完成的工作项自动列入下周工作计划. 周报可以自动邮件发送. 以日历为

一个幻读模型引出的记录可见性判断

Ⅰ.看一个幻读的模型 表a中有4条记录1,3,5,7,开两个session session1:begin; delete <= 7 ; session2:begin; insert a values(2); commit; session1:commit; 这个模型在rc的情况下,这是没问题的,只是加记录锁,不会锁范围,插入2是可以的.最后a上就剩2这个记录 那binlog里面记录的内容就有讲究了,假设是statment格式的binlog insert 2; delete <= 7; 这时候数

Hibernate

1. Hibernate基础 1.1 Hibernate与JDBC的优缺点 优点       1.比较简单       2.数据缓存:一级缓存    二级缓存   查询缓存       3.移植性比较好    缺点       1.因为sql语句是hibernate内部生成的,所以程序员干预不了,不可控       2.如果数据库特别大,不适合用hibernate JDBC 缺点   1.查询代码特别繁琐   2.重复性代码特别多,频繁的try,catch   3.数据的缓存   4.sql的移

夏令营讲课内容整理 Day 5.

DP专场.. 动态规划是运筹学的一个分支, 求解决策过程最优化的数学方法. 我们一般把动态规划简称为DP(Dynamic Programming) 1.动态规划的背包问题 有一个容量为m的背包,有n个物品,每一个物品i的重量为w[i],价值为v[i]. 要求选择一些物品放入背包中,每种物品只能最多使用一次,使得在不超重的情况下让背包中所有物品价值总和最大. 正常向解法:设状态数组f[i][j]为把前i个物品放入一个容量为j的背包中所能获得的最大价值(以下同设),则状态转移方程为: f[i][j]