navigation

Mattepuffo's logo
Usare il NavigationSplitView in SwiftUI

Usare il NavigationSplitView in SwiftUI

SwiftUI ci mette a disposizione il componente NavigationSplitView per dividere la nostra schermata in due o tre colonne, dove ce ne è una che a fa capo di tutte.

Su macOS si presenta esattamente come ce lo immaginiamo: una colonna sulla sinistra con le nostre voci, e una colonna a destra che mostra il contenuto di quello che abbiamo cliccato.

Su iOS, invece, si presenta come un lista che rimanda ad un'altra schermata con il tasto Back per tornare indietro.

Mattepuffo's logo
Cambiare colore alla NavigationView in SwiftUI

Cambiare colore alla NavigationView in SwiftUI

Da quanto ho capito la nuova NavigationView di SwiftUI non permette di modificare il colore; quindi ce la dobbiamo tenere del colore standard.

Oppure, possiamo abilitare la vecchia UINavigationBarAppearance e impostare io nostro colore di sfondo.

Mattepuffo's logo
Sencha Touch List da MySQL

Sencha Touch List da MySQL

Seguendo la segnalazione di Ivan (leggi i commenti) ho cambiato i Model in modo da non usare metodi deprecati.

Un ringraziamento a Ivan per la segnalazione.

 

Facciamo un passo avanti con Sencha Touch.

Oggi vediamo il componente List.

Innanzitutto vi ricordo il link di riferimento: clicca qua.

Se cliccate su List vi verranno presentati già degli esempi di partenza.

Quello che faremo noi è caricare i dati prendendoli da MySQL.

La prima cosa da fare è preparare un file in un linguaggio lato server per interrogare il db.

Io lo faccio in PHP:

<?php

$host = "";
$user = "";
$pass = "";
$db = "";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
if (mysqli_connect_errno()) {
    echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, "SELECT * FROM j25_content ORDER BY created DESC LIMIT 20");
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $rows[] = array(
        'id' => $row['id'],
        'title' => $row['title'],
    );
}
echo json_encode($rows);
mysqli_close($conn);

L'output è in formato JSON e dalla tabella tiro fuori due campi.

Poi preperiamone un altro per estrarre un recordo singolo; dopo capirete il perchè:

<?php

$host = "";
$user = "";
$pass = "";
$db = "";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
$cmd = "SELECT * FROM j25_content WHERE id = " . $_GET['id'];
if (mysqli_connect_errno()) {
    echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, $cmd);
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $rows[] = array(
        'title' => $row['title'],
        'fulltext' => utf8_encode($row['fulltext'])
    );
}
echo json_encode($rows);
mysqli_close($conn);

La List la metteremo in una View in modo che quando cliccheremo su una riga andiamo a vederne il dettaglio.