Comentario diario 04- desarrolladores de iOS para construir un IOSUI de la calculadora más simple, a servidores distribuidos complejo [2020]

prefacio

04 diario de
hoy bastante ocupado. Tienes un regalo de cumpleaños adelantado Eason de discos de vinilo.
Luego puse mi iphone x vendido máximo, me he comprado un iPhone 11. Sin gastos de envío. Sin el uso del teléfono celular ahora

1. Este diario se hace para adivinar el juego por el título, sobre todo mediante los controles básicos.

2. A continuación, implementará una aplicación del Himalaya y las imágenes de los rotadores
de desplazamiento de imagen! Zoom! Componentes UIScrollView. Además Muy importante será cumplir UIPageControl controles de paginación
Por último, se hace un repaso NSTimer utilizar un control temporizador.
Si se mira de cerca, casi grande más aplicación va a utilizar ambos componentes, debido a que son los componentes básicos muy importantes

texto

El primer paso debe ser seguro para establecer el color de la barra de estado de los
- (UIStatusBarStyle) preferredStatusBarStyle {} anulaciones método de la clase padre
enumeración específica puede entrar en la vista de clase, establecer el color de la barra de estado, porque después de todo, estamos principalmente opinión .
- (BOOL) prefersStatusBarHidden {) método, se sustituye la clase padre
se esconde la barra de estado.
Si no quiere producir los componentes correspondientes, simplemente en silencio permiten que se muestran los datos.
conjunto es sin interacción del usuario habilitado en él
si usted quiere color UIImage el efecto de la frontera, es muy simple con relleno en ella, recuerda a color de fondo UIImage además del color oh.
Si no desea responder en UIImage resaltada cuando hay propiedad destacó ajustar la configuración de la línea.
clave: propiedad NSString debe ser conjunto copiar ... de lo contrario la región constante de esas cosas, y yo sabemos.
utilizar count% ld si tiene el formato de aceptar una serie de tiempo

Parte II: Haga clic para agrandar la realización de las ideas

Necesita máscara de sombra, y crear una pantalla tan grande vista. Gris claro, gradiente alfa
-------- controlador <mask <imagen botón
prioridad es muy importante crear.
Si ve una línea de xxx.fream = xx.bounds, entonces los límites simplemente x, y siempre es 0, cuando en realidad se trata de una asignación de tamaño 0
UIView bringSubviewToFront :. xx xx tomada para permitir que la parte superior para mostrar todas las subclases UIView en
este momento también necesitan una CGRect grabado en el valor de tiempo global, el tiempo requerido para restaurar.
supresión
view.subviews.firstObject ser obtenida a través mientras que todos removeFromSuperview la sub-control puede ser movido fuera de la hablada.
view.subviews makeObjectsPerformSelector: @Select (método de clase ), lo que también permite a cada objeto de la matriz están llamando SEL
nueva propiedad
titleForState: enumeración, obtener el texto del botón en diferentes estados
currentTitle se puede obtener directamente el texto en su estado actual.
appendString NSMutableString manipular cadenas
- performselector clase : SEL withObject: afterDelay parámetros: el número de segundos después de que el flotador // llamar al método que clase de
UIAlertVIew ha sido el
**

apoderado

prioridades clave
Esto se hace mediante puntero característica. clase variable de puntero Identificación 1 punto a cualquier clase de clase 2
para la clase de la clase 1 se llama los parámetros de atributos id indicado en la clase 2 de 2 sobre la aplicación de la Clase 1, pero está en la clase 2 generada.
debe lograrse protocolos de proxy. Java, es genérico y similares
métodos necesidad de aplicar el protocolo de acuerdo marcada la clase 2.
nunca pensó que cuando llegue a Java también, pero debido a que subyace fuerte es C , oc esto se puede hacer!
pero java es también una implementación de este tipo, el marco también es cierto para la mayoría. más adelante, las personas que previamente código escrito, creo que usted debe saber lo que es correcto.
En ese momento yo también completando la agencia de oc estaba profundamente sentir el poder del agente.
**

Conjunto imagen de comienzo

Debido a los actuales modelos diferentes y iPad demasiados opción de imagen de inicio no tiene
uso LaunchScreen.storyboard desenfrenada proporcionó a cabo en la línea. Restricción permanecerá detrás para decir

Significado @ 2 @ 3

La pantalla del iPhone se divide en pantalla normal, la pantalla Retina, además de la pantalla retina
de un 50 píxeles fotografía 50, en el que jugó tres pantallas! Ocupan pantalla "punto" es el mismo.
Pero no es muy claro. Por ejemplo, en una pantalla ordinaria puntos x10 y 10 se coloca un 50 en
la imagen de píxeles 50
y en la retina de los puntos de la pantalla X10 y 10 colocado una imagen de pixel 100 * 100 de en
el tiempo de abrir el teléfono para ver el tamaño de imagen son los mismos ... pero diferente ... debido a la claridad de la pantalla es el punto de Apple como un concepto.
esto es muy difícil de entender en sus ventanas
, pero hace que la adaptación a la pantalla entre los diferentes modelos, muy conveniente ...

Un tamaño de UIImage es 100 100, la pantalla Retina del iPhone 4, que
le pondrá en un 200 a
200 píxeles de la imagen, por lo que ocupa 100 puntos 100 puntos dentro del píxel 2
un tamaño UIImage es 100 100, en el iPhone 3 pantalla que
se pone un 100
imagen 100 píxeles, por lo que ocupa 100 puntos 100 puntos dentro del píxel de 1
píxel más alto es el más claro, pero el tamaño total es invariable.
este es el punto es el mismo, pero la pantalla la pantalla cristalina también es fácil adaptación retina manzana cierto es rápido de hardware,

llamada

Pasé cerca de tres horas de tiempo, el juego de adivinar el problema aquí escribir el código de nuevo.
En el interior estaban usando nivel de código es todo el diario diario de 0 a 4.
El único más problemas sólo puede decir que calcular las coordenadas, pero si ayer escribió ejemplo Jiugongge, también es muy simple en él.

Resumen de la Fase

- (UIStatusBarStyle) preferredStatusBarStyle // establecer el color de la barra de estado
- (BOOL) prefersStatusBarHidden {) // ocultar la barra de estado
nuevo método
removeFromSuperview // Es de destacar que después de la eliminación de los padres para asegurarse de que no hay fuertes referencias de puntero.
UserInteractionEnabled // BOOL conjunto interactivo
highlightedAdjust // reacción BOOL pero no resaltar la función personalizada de tipo botón.
bringSubviewToFront // UIView nivel de presentación en el padre de los controles secundarios en los mejores
view.subviews // obtener todos los controles secundarios ns devuelve una matriz
makeObjectsPerformSelector: SEL // permiten subclases realizan SEL
botón titleForState // para obtener los diferentes estados del texto
botón currentTitle // para obtener el texto en su estado actual
appendstring // adicional variable de
performselector: SEL withObject: afterDelay parámetros: flotador
qué tipo de ejecución este método buscará parámetros adicionales SEL en esta clase se ejecutará después de que el número de segundos.

UIScrollView

UIScrollView lo que es? Es la realización de desplazamiento y zoom. Cuando vea un cuadro grande, cómo se desplaza hacia abajo? Amasado dedo cambio de zoom en el pequeño
control de UIScrollView sí no desplazamiento de zoom, es el contenido en su interior. Así esta vez el tamaño del conjunto no importa lo UIScrollView.
propiedad común
contentSize en contenido UIScrollView mucho. no quiero para desplazarse en esa dirección a 0 en la línea
de inicio predeterminada contentOffSet, cómo se coordinan entre tanto contenido CGPoint compensaciones pueden también manualmente adquieren, por lo que siempre es posible saber las coordenadas del desplazamiento
pueden desplazar automáticamente a través del programa, lo que voltear automáticamente, simplemente cambiarlo cgpoint Nota: hay parámetros que puede establecer si la animación
conjunto showsHorizontalScrollIndicator si se debe mostrar una barra de desplazamiento en el rodillo, tipo bool.
showsVerticalScrollIndicator este se establece barras de desplazamiento verticales muestran por defecto.
relleno dispuesto en el interior de los cuatro lados contentInset requiere un nuevo tipo de UIEdgeInsets de datos estructura
dentro de los márgenes establecidos el contenido y el niño no tiene control del espacio de compresión en sí no aumentó el tamaño del cambio en sí contentSize
Esto puede ser entendido como un concepto de márgenes, que es correcto
estructura UIEdgeInsets {CGFLoat superior, izquierda, abajo, derecha} relativamente importantes estructura
Bounces necesidad de proporcionar una propiedad elástica.
CGRectGetMaxY forma conveniente para calcular el máximo de Y
USADOS método proxy
que desea supervisar en tiempo real el desplazamiento del contenido, es necesario configurar el sistema de proxy llamará a su método de clase cuando se desplaza a
0. acuerdo UIScrollViewDelegate seguimiento, y poner en práctica este método necesita un contrato de agencia.
1. Conjunto ScrollView . .delegate = cuasi observan protocolos de clase
2. para lograr los protocolos correspondientes, tales como: empezar a arrastrar, se desplaza, arrastrando terminado no voy a escribir demasiado, a qué protocolo directamente en el archivo de cabecera para ver ..
(void ) scrollviewDidScroll rodando cuando
(void) scrollviewwillbeginDragging a punto de comenzar a arrastrar
el (void) scrollviewdieEndDraggin arrastrando terminado
Nota: @optional acuerdo está sujeta a la agencia @Required protocolo facultativo para lograr la necesaria
patrón de diseño de proxy objetivo final consiste en desacoplar
de desplazamiento de zoom
1. establecer el control de zoom que es - (después de todo, de desplazamiento que puede poner un montón de control, que no saben qué escala ...)
- (UIView *) viewForZoomingInScroollview // devuelve el control secundario enfocar método proxy
2. conjunto ampliar ratio, el número máximo de veces que el número mínimo de veces
.maximumZoomScale máximo factor de zoom
veces como mínimo minximumZoomScale zoom
Adicional:
método proxy (void) scrollviewDieENdZooming extremo de la escala
(void) scrollviewwillbeginzooming a punto de comenzar escalado
(Void) scrollviewdidzoom está ampliando

efecto de la página:
.pagingEnable = yes // basa en el contenido del tamaño del sistema de forma automática.

UIPageControl

.numberOfPages especifican el número total de páginas
.currentPage especifica el número de páginas

NSTimer

NSTimer (el más grande por segunda vez, se recomienda este temporizador)
temporizador de llamadas timerWithxxx creado añadió manualmente al bucle de mensajes para comenzar a
llamar NSTimer scheduledTimerWithInterval: ¿Cuánto tiempo cada tiempo objetivo de intervalo: el SEL objetivo userinfo: repeticiones nula: si desea repetir la
segunda creado formas de crear un temporizador para iniciar el temporizador se ejecutará automáticamente
parada invalida el temporizador
establece la prioridad del primer temporizador para obtener el bucle de mensajes objetos NSRunLoop
NSRunLopp * RD = [NSunLoop currentRunLoop]
[RD addTimer: self.timer forMode: NSRunLoopCommonModes];
los de temporizador la prioridad es una prioridad más alta sin interfaz de usuario, la interfaz de usuario si se ejecuta, el temporizador del temporizador se retrasa o suspendido. se añadió al bucle de mensaje a
conseguirlo como de alta prioridad, y la interfaz de usuario.

CADislayLink (pequeño intervalo de tiempo, usando esto)

resumen

Obtener por escrito, yo era demasiado sueño

Publicado cuatro artículos originales · ganado elogios 0 · Vistas 1126

Supongo que te gusta

Origin blog.csdn.net/u014270781/article/details/105152636
Recomendado
Clasificación