ARTES #001
ARTES #001
ARTES es una actividad iniciada por
由左耳朵耗子--陈皓: Haga al menos una pregunta sobre el algoritmo leetcode cada semana, lea y comente al menos un artículo técnico en inglés, aprenda al menos una habilidad técnica y comparta un artículo con opiniones y pensamientos. (Es decir, Algoritmo, Revisión, Sugerencia y Compartir se denominan ARTS) y persisten durante al menos un año.
##ARTES 001
Este es el primer artículo y está relativamente mal escrito. Espero que mejore cada vez más en el futuro.
Pregunta sobre el algoritmo del algoritmo
Algoritmo leetcode pregunta 344 Cadena inversa (cadena inversa)
Write a function that takes a string as input and returns the string reversed.
Example:
Given s = "hello", return "olleh".
请编写一个函数,其功能是将输入的字符串反转过来。
示例:
输入:s = "hello"
返回:"olleh"
Esta pregunta es relativamente simple y se puede implementar de la siguiente manera:
char* reverseString(char* s) {
int len=strlen(s);
int mid=len/2;
for(int i=0,j=len-1;i<mid,i<j;i++,j--){
char tmp;
tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
return s;
}
También se puede implementar de otras formas, como una pila. Cabe señalar que usar una pila para implementarlo requiere el doble de espacio de memoria.
Revisión
El siguiente artículo proviene de: https://littlebitesofcocoa.com/280-flowing-text-around-images-with-exclusion-paths;. Habla sobre cómo lograr el efecto de envolver texto con imágenes, lo cual es bastante práctico en desarrollo.
Texto fluido alrededor de imágenes con rutas de exclusión (use el método exclusionPaths para ajustar el texto alrededor de las imágenes)
El texto es una gran parte de las aplicaciones de iOS. Hoy veremos una forma en que podemos pulir el texto en nuestras aplicaciones, permitiéndole “fluir” naturalmente alrededor de los objetos. Empecemos.
El texto es una parte importante de las aplicaciones de iOS. Hoy veremos qué podemos hacer con el texto en una aplicación permitiéndole “fluir” naturalmente alrededor de una imagen. Empecemos.
Empezaremos con una foto del “antes”. Aquí tenemos una configuración básica con algo de texto y una imagen en la esquina superior derecha. No hay nada demasiado sofisticado aquí, solo UITextView y UIImageView normales: Empezaremos con las fotos del “antes”. Aquí tenemos un diseño común con algo de texto y una imagen en la esquina superior derecha. No hay nada especial aquí, solo UITextView y UIImageView normales:
let imageView = UIImageView(image: UIImage(named: "steve"))
let textView = UITextView(frame: .zero)
textView.text = "Here's to the crazy ones..."
<img src=“/img/15330428668213.jpg” ancho=“50%” alto=“50%” />
Esto se ve bien. Pero nuestro texto es innecesariamente limitado. Sería fantástico si pudiéramos hacer que el texto se expandiera a todo el ancho del dispositivo. Cambiaremos el diseño de nuestra Vista de Texto para que haga lo siguiente: Se ve bien. Pero el ancho de nuestra visualización de texto se vuelve más estrecho. Sería fantástico si pudiéramos extender el texto a todo el ancho del dispositivo. Cambiaremos el diseño de la vista de texto para que se vea así:
<img src=“/img/15330428846540.jpg” ancho=“50%” alto=“50%” />
Bueno, nos estamos acercando. Ahora sólo necesitamos una manera de hacer que el texto “fluya” o “envuelva” nuestra imagen. Comenzaremos obteniendo el marco de la vista de imagen, luego crearemos una ruta a partir de él:
let imagePath = UIBezierPath(rect: imageView.frame) Finalmente, estableceremos nuestra nueva ruta como una de las rutas de exclusión del contenedor de texto de nuestra vista de texto:
textView.textContainer.exclusionPaths = [rutaimagen]
Bueno, nos estamos acercando. Ahora sólo necesitamos una manera de hacer que el texto “fluya” o “envuelva” nuestra imagen. Primero obtenemos el marco de la vista de imagen, luego crearemos una ruta a partir de él:
let imagePath = UIBezierPath(rect:imageView.frame) Finalmente, configuramos la nueva ruta a una de las rutas de exclusión del contenedor de texto de la vista de texto:
textView.textContainer.exclusionPaths = [rutaimagen]
<img src=“/img/15330429892173.jpg” ancho=“50%” alto=“50%” />
¡Éxito! Dado que exclusionPaths es una matriz, ¡podemos hacer fluir texto alrededor de tantas formas como queramos! ¡Éxito! Dado que exclusionPaths es una matriz, podemos hacer fluir el texto a su alrededor según sea necesario.
<img src=“/img/15330430319407.jpg” ancho=“50%” alto=“50%” />
Demostración: https://github.com/danminyi/TextAroundImages
Consejo
Cuando uso Xcode, a veces quiero cambiar el valor de una determinada variable durante la depuración. Por ejemplo, en la imagen de abajo, quiero modificar el valor de imageView. El enfoque general es modificar y volver a ejecutar. Esto es demasiado ineficiente. Además de utilizar herramientas de terceros como revelar e inyección, también puede Utilice el método que viene con xcode - punto de interrupción, como se muestra en la figura siguiente, puede modificar directamente el marco de imageView. Después de marcar Automáticamente a continuación, el punto de interrupción no se detendrá cuando lo alcance y podrá ejecutarlo directamente. ¿No es muy conveniente, especialmente al depurar la función de paso de parámetros? Es muy conveniente.

Compartir
Esta semana estoy viendo “Cómo se conecta Internet” (https://book.douban.com/subject/26941639/) Aún no he terminado el segundo capítulo. Debo decir que este libro es realmente adecuado para principiantes en redes. He leído algunos libros de la red antes, pero no he podido terminarlos. Quizás mi base sea demasiado pobre. Este libro primero explica la imagen completa de la red y luego explica cada detalle. Desde la URL que ingresa en el navegador hasta la respuesta del servidor y el navegador que muestra los datos, cada paso del proceso tiene una explicación fácil de entender. También leí HTTP ilustrado y TCP/IP ilustrado antes, pero no los entendí del todo; muchos libros sólo explicaban un punto, como un ciego tocando un elefante, incapaz de considerar la situación general; o explicaron directamente los principios sin combinarlos con escenarios de uso diario, lo que dificultó la comprensión por parte de las personas. Este libro comienza con los escenarios con los que está más familiarizado y luego habla sobre los principios. Por supuesto, este libro está dirigido a principiantes en redes, por lo que muchos puntos de conocimiento no se pueden explicar con demasiada profundidad, por lo que este libro solo es adecuado para principiantes. He hecho programación de sockets antes, pero nunca entendí el proceso específico. Después de leer los dos primeros capítulos, de repente me sentí iluminado. Si siempre ha querido aprender sobre Internet en profundidad, pero después de leer muchos libros todavía siente que no ha comenzado o está confundido y no tiene un concepto general de la red, entonces este libro es adecuado para usted.
What to read next
Want more posts about ARTS?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #iOS?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home