Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ 2018

Windows 10 enable long file/folder path

Windows 10 enable long file/folder path Registry Import Enabling Long Paths Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\FileSystem] "LongPathsEnabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "LongPathsEnabled"=dword:00000001 Enable via group policy editor Local Computer Policy -> Computer Configuration -> Administrative Templates -> System -> FileSystem -> Double click Enable Win32 long paths and select Enabled

[iOS][Swift] VND currency formatter

[iOS][Swift] VND currency formatter static func formatCurrency( _ inputNumber: NSNumber , symbol: String = "VND" ) -> String {     let formatter = NumberFormatter (numberStyle: . currency )     formatter. currencySymbol = symbol     formatter. currencyGroupingSeparator = ","     formatter. locale = Locales . vietnam     formatter. numberStyle = . currency     formatter. positiveFormat = "#,##0 ¤"     return formatter. string (from: inputNumber) ?? String (format: "%@%@" , AppConstant . Character . space160 , symbol)   } Đoạn formatter.positiveFormat chính là ép ký tự currencySymbol luôn ở bên phải (vd: 1,000,000 VND) thay vì nó sẽ hiển thị VND 1,000,000 trên một vài thiết bị. Tham khảo bài viết này để hiểu rõ thêm về NumberFormatter

UICollectionView set number or columns

#1. Subclassing  UICollectionViewFlowLayout  and using  UICollectionViewFlowLayout 's  itemSize  property ColumnFlowLayout.swift: import UIKit class ColumnFlowLayout : UICollectionViewFlowLayout { let cellsPerRow : Int init ( cellsPerRow : Int , minimumInteritemSpacing : CGFloat = 0 , minimumLineSpacing : CGFloat = 0 , sectionInset : UIEdgeInsets = . zero ) { self . cellsPerRow = cellsPerRow super . init () self . minimumInteritemSpacing = minimumInteritemSpacing self . minimumLineSpacing = minimumLineSpacing self . sectionInset = sectionInset } required init ?( coder aDecoder : NSCoder ) { fatalError ( "init(coder:) has not been implemented" ) } override func prepare () { super . prepare () guard let collectionView = collectionView else { return } let marginsAndInsets = sectionInset . left + sectionInset . right + coll